13 #include <boost/flyweight.hpp> 20 #include "../clib/boostutils.h" 21 #include "../clib/rawtypes.h" 22 #include "../clib/spinlock.h" 87 void dumpProfile( std::ostream& os )
const;
88 size_t estimateSize()
const;
94 static const size_t READ = 0;
95 static const size_t WRITE = 1;
96 static const size_t ERASE = 2;
99 u64& operator[](
size_t idx );
100 const u64& operator[](
size_t idx )
const;
101 size_t sizeEstimate()
const;
107 typedef std::map<const PropertyList*, const Type>
PropLists;
109 typedef std::map<const Type, HitsEntries>
Hits;
114 bool isIgnored(
Type type )
const;
115 void cpropAction(
const PropertyList* proplist,
const std::string&
name,
const size_t key );
139 bool getprop(
const std::string& propname, std::string& propvalue )
const;
140 void setprop(
const std::string& propname,
const std::string& propvalue );
141 void eraseprop(
const std::string& propname );
143 void getpropnames( std::vector<std::string>& propnames )
const;
145 size_t estimatedSize()
const;
155 PropertyList& operator-(
const std::set<std::string>& );
156 void operator-=(
const std::set<std::string>& );
158 typedef std::map<boost_utils::cprop_name_flystring, boost_utils::cprop_value_flystring>
std::map< boost_utils::cprop_name_flystring, boost_utils::cprop_value_flystring > Properties
std::unique_ptr< Hits > _hits
std::array< u64, 3 > hits
0=read, 1=write, 2=erase
bool operator==(T *ptr, const ref_ptr< T > &rptr)
std::unique_ptr< PropLists > _proplists
Bscript::BObjectImp * CallPropertyListMethod_id(PropertyList &proplist, const int id, Bscript::Executor &ex, bool &changed)
std::map< const PropertyList *, const Type > PropLists
std::map< const std::string, HitsCounter > HitsEntries
std::map< const Type, HitsEntries > Hits
Clib::SpinLock _proplistsLock
Bscript::BObjectImp * CallPropertyListMethod(PropertyList &proplist, const char *methodname, Bscript::Executor &ex, bool &changed)