PBRT
|
00001 00002 // 00003 // Copyright (c) 2007, Weta Digital Ltd 00004 // 00005 // All rights reserved. 00006 // 00007 // Redistribution and use in source and binary forms, with or without 00008 // modification, are permitted provided that the following conditions are 00009 // met: 00010 // * Redistributions of source code must retain the above copyright 00011 // notice, this list of conditions and the following disclaimer. 00012 // * Redistributions in binary form must reproduce the above 00013 // copyright notice, this list of conditions and the following disclaimer 00014 // in the documentation and/or other materials provided with the 00015 // distribution. 00016 // * Neither the name of Weta Digital nor the names of 00017 // its contributors may be used to endorse or promote products derived 00018 // from this software without specific prior written permission. 00019 // 00020 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00021 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00022 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00023 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 00024 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00025 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00026 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00027 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00028 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00029 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00030 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00031 // 00033 00034 00035 00036 #ifndef INCLUDED_IMF_STRINGVECTOR_ATTRIBUTE_H 00037 #define INCLUDED_IMF_STRINGVECTOR_ATTRIBUTE_H 00038 00039 //----------------------------------------------------------------------------- 00040 // 00041 // class StringVectorAttribute 00042 // 00043 //----------------------------------------------------------------------------- 00044 00045 #include <ImfAttribute.h> 00046 #include <string> 00047 #include <vector> 00048 00049 00050 namespace Imf { 00051 00052 typedef std::vector<std::string> StringVector; 00053 typedef TypedAttribute<StringVector> StringVectorAttribute; 00054 template <> const char *StringVectorAttribute::staticTypeName (); 00055 template <> void StringVectorAttribute::writeValueTo (OStream &, int) const; 00056 template <> void StringVectorAttribute::readValueFrom (IStream &, int, int); 00057 00058 00059 } // namespace Imf 00060 00061 // Metrowerks compiler wants the .cpp file inlined, too 00062 #ifdef __MWERKS__ 00063 #include <ImfStringVectorAttribute.cpp> 00064 #endif 00065 00066 #endif