1 #ifndef OPENMW_COMPONENTS_NIF_RECORDPTR_HPP
2 #define OPENMW_COMPONENTS_NIF_RECORDPTR_HPP
48 ptr =
dynamic_cast<X*
>(r);
78 {
return ptr == NULL; }
95 : list(std::move(list))
103 for(
size_t i=0;i <
list.size();i++)
109 for(
size_t i=0;i <
list.size();i++)
114 {
return list.at(index); }
116 {
return list.at(index); }
119 {
return list.size(); }
136 struct NiKeyframeData;
137 class NiTriShapeData;
138 class NiSkinInstance;
139 class NiSourceTexture;
140 class NiRotatingParticlesData;
Definition: niffile.hpp:40
Definition: recordptr.hpp:86
X * operator->()
Definition: recordptr.hpp:73
RecordPtrT< Controller > ControllerPtr
Definition: recordptr.hpp:148
RecordPtrT< Extra > ExtraPtr
Definition: recordptr.hpp:144
X * ptr
Definition: recordptr.hpp:20
int getInt()
Definition: nifstream.hpp:111
const Ptr & operator[](size_t index) const
Definition: recordptr.hpp:113
Base class for all records.
Definition: record.hpp:101
RecordPtrT< NiPixelData > NiPixelDataPtr
Definition: recordptr.hpp:152
RecordPtrT< NiSourceTexture > NiSourceTexturePtr
Definition: recordptr.hpp:158
RecordPtrT< NiFloatData > NiFloatDataPtr
Definition: recordptr.hpp:153
Record * getRecord(size_t index) const override
Get a given record.
Definition: niffile.hpp:91
std::vector< Ptr > list
Definition: recordptr.hpp:89
RecordPtrT< NiSkinData > NiSkinDataPtr
Definition: recordptr.hpp:150
size_t length() const
Definition: recordptr.hpp:118
RecordPtrT< NiAutoNormalParticlesData > NiAutoNormalParticlesDataPtr
Definition: recordptr.hpp:160
RecordPtrT< NiColorData > NiColorDataPtr
Definition: recordptr.hpp:154
const X * operator->() const
Syntactic sugar.
Definition: recordptr.hpp:71
RecordListT< Property > PropertyList
Definition: recordptr.hpp:163
const X * getPtr() const
Look up the actual object from the index.
Definition: recordptr.hpp:54
void post(NIFFile *nif)
Resolve index to pointer.
Definition: recordptr.hpp:40
void read(NIFStream *nif)
Read the index from the nif.
Definition: recordptr.hpp:29
RecordPtrT< NiUVData > NiUVDataPtr
Definition: recordptr.hpp:145
RecordPtrT< Controlled > ControlledPtr
Definition: recordptr.hpp:149
RecordPtrT(X *ptr)
Definition: recordptr.hpp:26
RecordPtrT< X > Ptr
Definition: recordptr.hpp:88
RecordPtrT< NiTriShapeData > NiTriShapeDataPtr
Definition: recordptr.hpp:156
RecordPtrT< NiRotatingParticlesData > NiRotatingParticlesDataPtr
Definition: recordptr.hpp:159
RecordPtrT< NiSkinInstance > NiSkinInstancePtr
Definition: recordptr.hpp:157
RecordPtrT< NiKeyframeData > NiKeyframeDataPtr
Definition: recordptr.hpp:155
RecordListT(std::vector< Ptr > list)
Definition: recordptr.hpp:94
RecordPtrT< NiMorphData > NiMorphDataPtr
Definition: recordptr.hpp:151
void post(NIFFile *nif)
Definition: recordptr.hpp:107
Definition: recordptr.hpp:16
RecordPtrT< NiVisData > NiVisDataPtr
Definition: recordptr.hpp:147
RecordListT< NiSourceTexture > NiSourceTextureList
Definition: recordptr.hpp:164
RecordPtrT< NiPosData > NiPosDataPtr
Definition: recordptr.hpp:146
RecordListT< Node > NodeList
Definition: recordptr.hpp:162
intptr_t index
Definition: recordptr.hpp:19
Definition: nifstream.hpp:83
RecordPtrT< Node > NodePtr
Definition: recordptr.hpp:141
void read(NIFStream *nif)
Definition: recordptr.hpp:98
X * getPtr()
Definition: recordptr.hpp:59
bool empty() const
Pointers are allowed to be empty.
Definition: recordptr.hpp:77
RecordPtrT()
Definition: recordptr.hpp:24
Ptr & operator[](size_t index)
Definition: recordptr.hpp:115