Alembic: AbcCoreHDF5/StringReadUtil.h Source File

Alembic 1.8.11

Loading...
Searching...
No Matches
StringReadUtil.h
1//-*****************************************************************************
2//
3// Copyright (c) 2009-2012,
4// Sony Pictures Imageworks, Inc. and
5// Industrial Light & Magic, a division of Lucasfilm Entertainment Company Ltd.
6//
7// All rights reserved.
8//
9// Redistribution and use in source and binary forms, with or without
10// modification, are permitted provided that the following conditions are
11// met:
12// * Redistributions of source code must retain the above copyright
13// notice, this list of conditions and the following disclaimer.
14// * Redistributions in binary form must reproduce the above
15// copyright notice, this list of conditions and the following disclaimer
16// in the documentation and/or other materials provided with the
17// distribution.
18// * Neither the name of Sony Pictures Imageworks, nor
19// Industrial Light & Magic nor the names of their contributors may be used
20// to endorse or promote products derived from this software without specific
21// prior written permission.
22//
23// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34//
35//-*****************************************************************************
36
37#ifndef Alembic_AbcCoreHDF5_StringReadUtil_h
38#define Alembic_AbcCoreHDF5_StringReadUtil_h
39
40#include <Alembic/AbcCoreHDF5/Foundation.h>
41
42namespace Alembic {
43namespace AbcCoreHDF5 {
44namespace ALEMBIC_VERSION_NS {
45
46//-*****************************************************************************
47void
48ReadString( hid_t iParent,
49 const std::string &iStringName,
50 std::string &oString );
51
52//-*****************************************************************************
53void
54ReadWstring( hid_t iParent,
55 const std::string &iStringName,
56 std::wstring &oString );
57
58//-*****************************************************************************
59// For data types with more than one string.
60void
61ReadStrings( hid_t iParent,
62 const std::string &iStringsName,
63 size_t numStrings,
64 std::string *oStrings );
65
66//-*****************************************************************************
67// For reading a compacted string array
68void
69ReadStrings( hid_t iParent,
70 const std::string &iStringsName,
71 std::vector < std::string > & oStrings );
72
73//-*****************************************************************************
74// For data types with more than one wstring
75void
76ReadWstrings( hid_t iParent,
77 const std::string &iStringsName,
78 size_t numStrings,
79 std::wstring *oStrings );
80
81//-*****************************************************************************
82AbcA::ArraySamplePtr
83ReadStringArray( AbcA::ReadArraySampleCachePtr iCache,
84 hid_t iParent,
85 const std::string &iArrayName,
86 const AbcA::DataType &iDataType );
87
88//-*****************************************************************************
89AbcA::ArraySamplePtr
90ReadWstringArray( AbcA::ReadArraySampleCachePtr iCache,
91 hid_t iParent,
92 const std::string &iArrayName,
93 const AbcA::DataType &iDataType );
94
95//-*****************************************************************************
96void
97ReadStringArray( void * iIntoLocation,
98 hid_t iParent,
99 const std::string &iName,
100 const AbcA::DataType &iDataType );
101
102//-*****************************************************************************
103void
104ReadWstringArray( void * iIntoLocation,
105 hid_t iParent,
106 const std::string &iName,
107 const AbcA::DataType &iDataType );
108
109} // End namespace ALEMBIC_VERSION_NS
110
111using namespace ALEMBIC_VERSION_NS;
112
113} // End namespace AbcCoreHDF5
114} // End namespace Alembic
115
116#endif
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::DataType
Definition DataType.h:52
Alembic
Alembic namespace ...
Definition ArchiveInfo.cpp:39