riffutils.h
Go to the documentation of this file.
1 /***************************************************************************
2  copyright : (C) 2015 by Tsuda Kageyu
3  email : tsuda.kageyu@gmail.com
4  ***************************************************************************/
5 
6 /***************************************************************************
7  * This library is free software; you can redistribute it and/or modify *
8  * it under the terms of the GNU Lesser General Public License version *
9  * 2.1 as published by the Free Software Foundation. *
10  * *
11  * This library is distributed in the hope that it will be useful, but *
12  * WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14  * Lesser General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU Lesser General Public *
17  * License along with this library; if not, write to the Free Software *
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
19  * 02110-1301 USA *
20  * *
21  * Alternatively, this file is available under the Mozilla Public *
22  * License Version 1.1. You may obtain a copy of the License at *
23  * http://www.mozilla.org/MPL/ *
24  ***************************************************************************/
25 
26 #ifndef TAGLIB_RIFFUTILS_H
27 #define TAGLIB_RIFFUTILS_H
28 
29 // THIS FILE IS NOT A PART OF THE TAGLIB API
30 
31 #ifndef DO_NOT_DOCUMENT // tell Doxygen not to document this header
32 
33 namespace TagLib
34 {
35  namespace RIFF
36  {
37  namespace
38  {
39 
40  inline bool isValidChunkName(const ByteVector &name)
41  {
42  if(name.size() != 4)
43  return false;
44 
45  for(ByteVector::ConstIterator it = name.begin(); it != name.end(); ++it) {
46  const int c = static_cast<unsigned char>(*it);
47  if(c < 32 || 127 < c)
48  return false;
49  }
50 
51  return true;
52  }
53 
54  }
55  }
56 }
57 
58 #endif
59 
60 #endif