![]() |
pl-nk v0.4.5
Plonk|Plink|Plank are a set of cross-platform C/C++ frameworks for audio software development
|
00001 /* 00002 ------------------------------------------------------------------------------- 00003 This file is part of the Plink, Plonk, Plank libraries 00004 by Martin Robinson 00005 00006 http://code.google.com/p/pl-nk/ 00007 00008 Copyright University of the West of England, Bristol 2011-14 00009 All rights reserved. 00010 00011 Redistribution and use in source and binary forms, with or without 00012 modification, are permitted provided that the following conditions are met: 00013 00014 * Redistributions of source code must retain the above copyright 00015 notice, this list of conditions and the following disclaimer. 00016 * Redistributions in binary form must reproduce the above copyright 00017 notice, this list of conditions and the following disclaimer in the 00018 documentation and/or other materials provided with the distribution. 00019 * Neither the name of University of the West of England, Bristol nor 00020 the names of its contributors may be used to endorse or promote products 00021 derived from this software without specific prior written permission. 00022 00023 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 00024 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00025 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00026 DISCLAIMED. IN NO EVENT SHALL UNIVERSITY OF THE WEST OF ENGLAND, BRISTOL BE 00027 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00028 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 00029 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 00030 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00031 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 00032 OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00033 00034 This software makes use of third party libraries. For more information see: 00035 doc/license.txt included in the distribution. 00036 ------------------------------------------------------------------------------- 00037 */ 00038 00039 #ifndef PLONK_TEXTARRAY_H 00040 #define PLONK_TEXTARRAY_H 00041 00042 #include "../core/plonk_CoreForwardDeclarations.h" 00043 #include "plonk_ContainerForwardDeclarations.h" 00044 #include "plonk_DynamicContainer.h" 00045 00046 #include "../core/plonk_Receiver.h" 00047 00048 #include "plonk_ObjectArray.h" 00049 #include "plonk_ObjectArray2D.h" 00050 #include "plonk_NumericalArray.h" 00051 #include "plonk_NumericalArray2D.h" 00052 00054 class TextArray : public ObjectArray2DBase<char, Text> 00055 { 00056 public: 00057 typedef ObjectArray<char> RowType; 00058 typedef ObjectArray2DBase<char,Text> Base; 00059 00060 typedef ObjectArrayInternal<Text> Internal; 00061 00062 TextArray (const int rows = 0) throw(); 00063 explicit TextArray (Internal* internalToUse) throw(); 00064 static const TextArray& getNull() throw(); 00065 00066 TextArray (TextArray const& copy) throw(); 00067 TextArray (Dynamic const& other) throw(); 00068 TextArray& operator= (TextArray const& other) throw(); 00069 00070 TextArray (ObjectArray<Text> const& other) throw(); 00071 TextArray (ObjectArray<RowType> const& other) throw(); 00072 TextArray (Text const& single) throw(); 00073 00074 TextArray (Text const &i00, 00075 Text const &i01, 00076 Text const &i02, 00077 Text const &i03 = Text()) throw(); 00078 00079 TextArray (Text const &i00, 00080 Text const &i01, 00081 Text const &i02, 00082 Text const &i03, 00083 Text const &i04, 00084 Text const &i05 = Text(), 00085 Text const &i06 = Text(), 00086 Text const &i07 = Text()) throw(); 00087 00088 TextArray (Text const &i00, 00089 Text const &i01, 00090 Text const &i02, 00091 Text const &i03, 00092 Text const &i04, 00093 Text const &i05, 00094 Text const &i06, 00095 Text const &i07, 00096 Text const &i08, 00097 Text const &i09 = Text(), 00098 Text const &i10 = Text(), 00099 Text const &i11 = Text(), 00100 Text const &i12 = Text(), 00101 Text const &i13 = Text(), 00102 Text const &i14 = Text(), 00103 Text const &i15 = Text()) throw(); 00104 00105 TextArray (Text const &i00, 00106 Text const &i01, 00107 Text const &i02, 00108 Text const &i03, 00109 Text const &i04, 00110 Text const &i05, 00111 Text const &i06, 00112 Text const &i07, 00113 Text const &i08, 00114 Text const &i09, 00115 Text const &i10, 00116 Text const &i11, 00117 Text const &i12, 00118 Text const &i13, 00119 Text const &i14, 00120 Text const &i15, 00121 Text const &i16, 00122 Text const &i17 = Text(), 00123 Text const &i18 = Text(), 00124 Text const &i19 = Text(), 00125 Text const &i20 = Text(), 00126 Text const &i21 = Text(), 00127 Text const &i22 = Text(), 00128 Text const &i23 = Text(), 00129 Text const &i24 = Text(), 00130 Text const &i25 = Text(), 00131 Text const &i26 = Text(), 00132 Text const &i27 = Text(), 00133 Text const &i28 = Text(), 00134 Text const &i29 = Text(), 00135 Text const &i30 = Text(), 00136 Text const &i31 = Text()) throw(); 00137 00138 ObjectArrayAssignmentDefinition(TextArray, Text); 00139 00140 TextArray (Text const& array0, 00141 Text const& array1) throw(); 00142 00143 TextArray (TextArray const& array0, 00144 TextArray const& array1) throw(); 00145 00146 int indexOf (Text const& item, const int startIndex = 0) const throw(); 00147 int indexOfIgnoreCase (Text const& item, const int startIndex = 0) const throw(); 00148 00149 Text asText() const throw(); 00150 00151 void print (const char *prefix = 0) const throw(); 00152 00153 PLONK_OBJECTARROWOPERATOR(TextArray); 00154 00155 }; 00156 00157 00158 #endif // PLONK_TEXTARRAY_H