Rost -Hashmaps, bei denen die Schlüssel Referenzen sind, die Werte enthalten, die Werte enthaltenC++

Programme in C++. Entwicklerforum
Anonymous
 Rost -Hashmaps, bei denen die Schlüssel Referenzen sind, die Werte enthalten, die Werte enthalten

Post by Anonymous »

Ich porte einige meiner komplexeren C ++ - Code auf Rost, um die Sprache zu lernen. Eine Sache, die ich habe, ist eine Karte von Werten, die von einem STD :: String im Wertschöpfungstyp gespeichert sind, um zu vermeiden, dass die Zeichenfolge in die Kartenschlüssel kopiert. Ich verwende eine string_view . Aufgrund der Verwendung der Verwendung wird der Schlüssel immer auf die gültige Zeichenfolge hinweisen, die in seinem Wert gehalten wird. Der Rost unten repräsentiert die Strukturen, die ich porte. Jede Hilfe geschätzt! < /P>

Code: Select all

use std::collections::HashMap;
use std::sync::Arc;

// A thing with a name and other guff
struct BaseThing {
name : String,
data1 : String,
data2 : f32
// and many more bits of data
}

// a thing raised to a power is a component of our value
struct Component {
pub base_thing: Arc,
pub power: i32,
}

type ComponentsMap = HashMap;

// Ideally want this....
// type ComponentsMap = HashMap;

// A value is a collection of BaseThings raised to a power
// indexed by the name of the thing.
struct Value {
pub components: ComponentsMap
// and some other bits as well
}

fn addComponent(value : &mut Value,
base_thing : Arc,
power : i32)
{
// The map is indexed by the name of the baseThing being inserted.
value.components.insert(base_thing.name.clone(),
Component {
base_thing: base_thing,
power : power });
}
Bearbeiten
Danke für alle Antworten, ich verwende idordmap von https://github.com/oxidecomputer/iddqd.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post