35 #ifndef IECORERI_PARAMETERLIST_H
36 #define IECORERI_PARAMETERLIST_H
38 #include "IECore/Renderer.h"
40 #include "IECoreRI/Export.h"
63 const std::map<std::string, std::string> *typeHints =
nullptr );
67 const std::map<std::string, std::string> *typeHints =
nullptr );
70 const std::map<std::string, std::string> *typeHints =
nullptr );
88 const char *type(
const std::string &name,
const IECore::Data *d,
bool &isArray,
size_t &arraySize,
const std::map<std::string, std::string> *typeHints );
92 inline int numPlaces(
size_t n );
93 inline void appendInt(
char *&str,
size_t n );
94 inline void appendString(
char *&str,
const char* toAppend,
size_t len );
95 inline void appendString(
char *&str,
const std::string &toAppend );
96 inline void buildPositionsString(
char*& str,
const std::string& name,
size_t arraySize );
97 inline void buildColorValuesString(
char*& str,
const std::string& name,
size_t arraySize );
98 inline void buildFloatValuesString(
char*& str,
const std::string& name,
size_t arraySize );
103 void accumulateReservations(
const IECore::Data *d,
size_t &numStrings,
size_t &numCharPtrs,
size_t &numInts,
size_t &numFloats );
105 void appendParameter(
const std::string &name,
const IECore::Data *d,
const std::map<std::string, std::string> *typeHints );
106 std::vector<const char *> m_charPtrs;
107 std::vector<int> m_ints;
108 std::vector<float> m_floats;
109 std::vector<char *> m_tokens;
110 std::vector<const void *> m_values;
118 #endif // IECORERI_PARAMETERLIST_H
Definition: ParameterList.h:47
The IECoreRI namespace holds all the functionality implemented in libIECoreRI.
Definition: IECoreRI.h:41
Definition: InternedString.h:55
std::map< InternedString, DataPtr > CompoundDataMap
The type of Data held by the CompoundData typedef.
Definition: CompoundDataBase.h:46