6 #ifndef CNOID_UTIL_DATA_MAP_H_INCLUDED 7 #define CNOID_UTIL_DATA_MAP_H_INCLUDED 19 static const int MIN_DYNAMIC_ID = 10000;
22 int getDynamicID(
const std::string& name);
23 const std::string& getDynamicIDname(
int id);
26 virtual std::map<std::string, int>& nameToIdMap();
27 virtual std::map<int, std::string>& idToNameMap();
28 virtual int nextDynamicId();
32 template <
class ElementType =
double,
class Allocator = std::allocator<ElementType> >
34 protected std::map<int, std::vector<ElementType, Allocator> >
36 typedef std::map<int, std::vector<ElementType, Allocator> > MapType;
38 static const std::vector<ElementType, Allocator> emptyData;
42 typedef std::vector<ElementType, Allocator>
Data;
45 using typename MapType::iterator;
55 typedef typename MapType::iterator iterator;
56 size_t size()
const {
return MapType::size(); }
57 bool empty()
const {
return MapType::empty(); }
58 void clear() { MapType::clear(); }
59 typename MapType::iterator begin() {
return MapType::begin(); }
60 typename MapType::const_iterator begin()
const {
return MapType::begin(); }
61 typename MapType::iterator end() {
return MapType::end(); }
62 typename MapType::const_iterator end()
const {
return MapType::end(); }
63 typename MapType::iterator find(
const typename MapType::key_type& x) {
return MapType::find(x); }
64 typename MapType::const_iterator find(
const typename MapType::key_type& x)
const {
return MapType::find(x); }
66 Data&
data(
int id) {
return (*
this)[id]; }
68 const Data&
data(
int id)
const {
69 typename MapType::const_iterator p = find(
id);
81 template <
class ElementType,
class Allocator>
std::vector< ElementType, Allocator > Data
Definition: DataMap.h:42
Data & data(int id)
Definition: DataMap.h:66
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
const Data & data(int id) const
Definition: DataMap.h:68
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
bool operator==(const DataMap< ElementType, Allocator > &rhs) const
Definition: DataMap.h:76