diff options
Diffstat (limited to 'libcult/cult/cli/options.hxx')
-rw-r--r-- | libcult/cult/cli/options.hxx | 502 |
1 files changed, 0 insertions, 502 deletions
diff --git a/libcult/cult/cli/options.hxx b/libcult/cult/cli/options.hxx deleted file mode 100644 index 2a780e1..0000000 --- a/libcult/cult/cli/options.hxx +++ /dev/null @@ -1,502 +0,0 @@ -// file : cult/cli/options.hxx -// author : Boris Kolpackov <boris@kolpackov.net> -// copyright : Copyright (c) 2005-2010 Boris Kolpackov -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef CULT_CLI_OPTIONS_HXX -#define CULT_CLI_OPTIONS_HXX - -#include <cult/types.hxx> - -#include <cassert> - -namespace Cult -{ - namespace CLI - { - namespace Bits - { - template <Boolean t, typename X, typename Y> - struct if_; - - template <typename X, typename Y> - struct if_<true, X, Y> - { - typedef X Type; - }; - - template <typename X, typename Y> - struct if_<false, X, Y> - { - typedef Y Type; - }; - - template <Char const* x, Char const* y> - struct same - { - static Boolean const r = false; - }; - - template <Char const* x> - struct same<x, x> - { - static Boolean const r = true; - }; - - template <Char const* x> - struct Tag - { - }; - - //@@ should end up in Cult::Meta - // - struct Null {}; - extern Char const null[]; - -#include <cult/cli/mapper.hxx> - - } - - template <Char const* k01, typename T01, - Char const* k02 = Bits::null, typename T02 = Bits::Null, - Char const* k03 = Bits::null, typename T03 = Bits::Null, - Char const* k04 = Bits::null, typename T04 = Bits::Null, - Char const* k05 = Bits::null, typename T05 = Bits::Null, - Char const* k06 = Bits::null, typename T06 = Bits::Null, - Char const* k07 = Bits::null, typename T07 = Bits::Null, - Char const* k08 = Bits::null, typename T08 = Bits::Null, - Char const* k09 = Bits::null, typename T09 = Bits::Null, - Char const* k10 = Bits::null, typename T10 = Bits::Null, - Char const* k11 = Bits::null, typename T11 = Bits::Null, - Char const* k12 = Bits::null, typename T12 = Bits::Null, - Char const* k13 = Bits::null, typename T13 = Bits::Null, - Char const* k14 = Bits::null, typename T14 = Bits::Null, - Char const* k15 = Bits::null, typename T15 = Bits::Null, - Char const* k16 = Bits::null, typename T16 = Bits::Null, - Char const* k17 = Bits::null, typename T17 = Bits::Null, - Char const* k18 = Bits::null, typename T18 = Bits::Null, - Char const* k19 = Bits::null, typename T19 = Bits::Null, - Char const* k20 = Bits::null, typename T20 = Bits::Null, - Char const* k21 = Bits::null, typename T21 = Bits::Null, - Char const* k22 = Bits::null, typename T22 = Bits::Null, - Char const* k23 = Bits::null, typename T23 = Bits::Null, - Char const* k24 = Bits::null, typename T24 = Bits::Null, - Char const* k25 = Bits::null, typename T25 = Bits::Null, - Char const* k26 = Bits::null, typename T26 = Bits::Null, - Char const* k27 = Bits::null, typename T27 = Bits::Null, - Char const* k28 = Bits::null, typename T28 = Bits::Null, - Char const* k29 = Bits::null, typename T29 = Bits::Null, - Char const* k30 = Bits::null, typename T30 = Bits::Null, - Char const* k31 = Bits::null, typename T31 = Bits::Null, - Char const* k32 = Bits::null, typename T32 = Bits::Null, - Char const* k33 = Bits::null, typename T33 = Bits::Null, - Char const* k34 = Bits::null, typename T34 = Bits::Null, - Char const* k35 = Bits::null, typename T35 = Bits::Null, - Char const* k36 = Bits::null, typename T36 = Bits::Null, - Char const* k37 = Bits::null, typename T37 = Bits::Null, - Char const* k38 = Bits::null, typename T38 = Bits::Null, - Char const* k39 = Bits::null, typename T39 = Bits::Null, - Char const* k40 = Bits::null, typename T40 = Bits::Null, - Char const* k41 = Bits::null, typename T41 = Bits::Null, - Char const* k42 = Bits::null, typename T42 = Bits::Null, - Char const* k43 = Bits::null, typename T43 = Bits::Null, - Char const* k44 = Bits::null, typename T44 = Bits::Null, - Char const* k45 = Bits::null, typename T45 = Bits::Null, - Char const* k46 = Bits::null, typename T46 = Bits::Null, - Char const* k47 = Bits::null, typename T47 = Bits::Null, - Char const* k48 = Bits::null, typename T48 = Bits::Null, - Char const* k49 = Bits::null, typename T49 = Bits::Null, - Char const* k50 = Bits::null, typename T50 = Bits::Null, - Char const* k51 = Bits::null, typename T51 = Bits::Null, - Char const* k52 = Bits::null, typename T52 = Bits::Null, - Char const* k53 = Bits::null, typename T53 = Bits::Null, - Char const* k54 = Bits::null, typename T54 = Bits::Null, - Char const* k55 = Bits::null, typename T55 = Bits::Null, - Char const* k56 = Bits::null, typename T56 = Bits::Null, - Char const* k57 = Bits::null, typename T57 = Bits::Null, - Char const* k58 = Bits::null, typename T58 = Bits::Null, - Char const* k59 = Bits::null, typename T59 = Bits::Null, - Char const* k60 = Bits::null, typename T60 = Bits::Null, - Char const* k61 = Bits::null, typename T61 = Bits::Null, - Char const* k62 = Bits::null, typename T62 = Bits::Null, - Char const* k63 = Bits::null, typename T63 = Bits::Null, - Char const* k64 = Bits::null, typename T64 = Bits::Null, - Char const* k65 = Bits::null, typename T65 = Bits::Null, - Char const* k66 = Bits::null, typename T66 = Bits::Null, - Char const* k67 = Bits::null, typename T67 = Bits::Null, - Char const* k68 = Bits::null, typename T68 = Bits::Null, - Char const* k69 = Bits::null, typename T69 = Bits::Null, - Char const* k70 = Bits::null, typename T70 = Bits::Null, - Char const* k71 = Bits::null, typename T71 = Bits::Null, - Char const* k72 = Bits::null, typename T72 = Bits::Null, - Char const* k73 = Bits::null, typename T73 = Bits::Null, - Char const* k74 = Bits::null, typename T74 = Bits::Null, - Char const* k75 = Bits::null, typename T75 = Bits::Null, - Char const* k76 = Bits::null, typename T76 = Bits::Null, - Char const* k77 = Bits::null, typename T77 = Bits::Null, - Char const* k78 = Bits::null, typename T78 = Bits::Null, - Char const* k79 = Bits::null, typename T79 = Bits::Null, - Char const* k80 = Bits::null, typename T80 = Bits::Null, - Char const* k81 = Bits::null, typename T81 = Bits::Null, - Char const* k82 = Bits::null, typename T82 = Bits::Null, - Char const* k83 = Bits::null, typename T83 = Bits::Null, - Char const* k84 = Bits::null, typename T84 = Bits::Null, - Char const* k85 = Bits::null, typename T85 = Bits::Null, - Char const* k86 = Bits::null, typename T86 = Bits::Null, - Char const* k87 = Bits::null, typename T87 = Bits::Null, - Char const* k88 = Bits::null, typename T88 = Bits::Null, - Char const* k89 = Bits::null, typename T89 = Bits::Null, - Char const* k90 = Bits::null, typename T90 = Bits::Null, - Char const* k91 = Bits::null, typename T91 = Bits::Null, - Char const* k92 = Bits::null, typename T92 = Bits::Null, - Char const* k93 = Bits::null, typename T93 = Bits::Null, - Char const* k94 = Bits::null, typename T94 = Bits::Null, - Char const* k95 = Bits::null, typename T95 = Bits::Null, - Char const* k96 = Bits::null, typename T96 = Bits::Null, - Char const* k97 = Bits::null, typename T97 = Bits::Null, - Char const* k98 = Bits::null, typename T98 = Bits::Null, - Char const* k99 = Bits::null, typename T99 = Bits::Null, - Char const* k100 = Bits::null, typename T100 = Bits::Null> - class Options - { - typedef Bits::Mapper<k01, T01, - k02, T02, - k03, T03, - k04, T04, - k05, T05, - k06, T06, - k07, T07, - k08, T08, - k09, T09, - k10, T10, - k11, T11, - k12, T12, - k13, T13, - k14, T14, - k15, T15, - k16, T16, - k17, T17, - k18, T18, - k19, T19, - k20, T20, - k21, T21, - k22, T22, - k23, T23, - k24, T24, - k25, T25, - k26, T26, - k27, T27, - k28, T28, - k29, T29, - k30, T30, - k31, T31, - k32, T32, - k33, T33, - k34, T34, - k35, T35, - k36, T36, - k37, T37, - k38, T38, - k39, T39, - k40, T40, - k41, T41, - k42, T42, - k43, T43, - k44, T44, - k45, T45, - k46, T46, - k47, T47, - k48, T48, - k49, T49, - k50, T50, - k51, T51, - k52, T52, - k53, T53, - k54, T54, - k55, T55, - k56, T56, - k57, T57, - k58, T58, - k59, T59, - k60, T60, - k61, T61, - k62, T62, - k63, T63, - k64, T64, - k65, T65, - k66, T66, - k67, T67, - k68, T68, - k69, T69, - k70, T70, - k71, T71, - k72, T72, - k73, T73, - k74, T74, - k75, T75, - k76, T76, - k77, T77, - k78, T78, - k79, T79, - k80, T80, - k81, T81, - k82, T82, - k83, T83, - k84, T84, - k85, T85, - k86, T86, - k87, T87, - k88, T88, - k89, T89, - k90, T90, - k91, T91, - k92, T92, - k93, T93, - k94, T94, - k95, T95, - k96, T96, - k97, T97, - k98, T98, - k99, T99, - k100, T100> Mapper; - - public: - Options () - : i01_ (), - i02_ (), - i03_ (), - i04_ (), - i05_ (), - i06_ (), - i07_ (), - i08_ (), - i09_ (), - i10_ (), - i11_ (), - i12_ (), - i13_ (), - i14_ (), - i15_ (), - i16_ (), - i17_ (), - i18_ (), - i19_ (), - i20_ (), - i21_ (), - i22_ (), - i23_ (), - i24_ (), - i25_ (), - i26_ (), - i27_ (), - i28_ (), - i29_ (), - i30_ (), - i31_ (), - i32_ (), - i33_ (), - i34_ (), - i35_ (), - i36_ (), - i37_ (), - i38_ (), - i39_ (), - i40_ (), - i41_ (), - i42_ (), - i43_ (), - i44_ (), - i45_ (), - i46_ (), - i47_ (), - i48_ (), - i49_ (), - i50_ (), - i51_ (), - i52_ (), - i53_ (), - i54_ (), - i55_ (), - i56_ (), - i57_ (), - i58_ (), - i59_ (), - i60_ (), - i61_ (), - i62_ (), - i63_ (), - i64_ (), - i65_ (), - i66_ (), - i67_ (), - i68_ (), - i69_ (), - i70_ (), - i71_ (), - i72_ (), - i73_ (), - i74_ (), - i75_ (), - i76_ (), - i77_ (), - i78_ (), - i79_ (), - i80_ (), - i81_ (), - i82_ (), - i83_ (), - i84_ (), - i85_ (), - i86_ (), - i87_ (), - i88_ (), - i89_ (), - i90_ (), - i91_ (), - i92_ (), - i93_ (), - i94_ (), - i95_ (), - i96_ (), - i97_ (), - i98_ (), - i99_ (), - i100_ () - { - } - - template <Char const* k> - typename Mapper::template Selector<k>::Type& - value () - { - typedef - typename Mapper::template Selector<k>::Type - Type; - - return *reinterpret_cast<Type*> (value (k)); - } - - template <Char const* k> - typename Mapper::template Selector<k>::Type const& - value () const - { - typedef - typename Mapper::template Selector<k>::Type - Type; - - return *reinterpret_cast<Type const*> (value (k)); - } - - private: - Void* - value (Char const*) const; - - private: - T01 i01_; - T02 i02_; - T03 i03_; - T04 i04_; - T05 i05_; - T06 i06_; - T07 i07_; - T08 i08_; - T09 i09_; - T10 i10_; - T11 i11_; - T12 i12_; - T13 i13_; - T14 i14_; - T15 i15_; - T16 i16_; - T17 i17_; - T18 i18_; - T19 i19_; - T20 i20_; - T21 i21_; - T22 i22_; - T23 i23_; - T24 i24_; - T25 i25_; - T26 i26_; - T27 i27_; - T28 i28_; - T29 i29_; - T30 i30_; - T31 i31_; - T32 i32_; - T33 i33_; - T34 i34_; - T35 i35_; - T36 i36_; - T37 i37_; - T38 i38_; - T39 i39_; - T40 i40_; - T41 i41_; - T42 i42_; - T43 i43_; - T44 i44_; - T45 i45_; - T46 i46_; - T47 i47_; - T48 i48_; - T49 i49_; - T50 i50_; - T51 i51_; - T52 i52_; - T53 i53_; - T54 i54_; - T55 i55_; - T56 i56_; - T57 i57_; - T58 i58_; - T59 i59_; - T60 i60_; - T61 i61_; - T62 i62_; - T63 i63_; - T64 i64_; - T65 i65_; - T66 i66_; - T67 i67_; - T68 i68_; - T69 i69_; - T70 i70_; - T71 i71_; - T72 i72_; - T73 i73_; - T74 i74_; - T75 i75_; - T76 i76_; - T77 i77_; - T78 i78_; - T79 i79_; - T80 i80_; - T81 i81_; - T82 i82_; - T83 i83_; - T84 i84_; - T85 i85_; - T86 i86_; - T87 i87_; - T88 i88_; - T89 i89_; - T90 i90_; - T91 i91_; - T92 i92_; - T93 i93_; - T94 i94_; - T95 i95_; - T96 i96_; - T97 i97_; - T98 i98_; - T99 i99_; - T100 i100_; - }; - } -} - -#include <cult/cli/options.ixx> -#include <cult/cli/options.txx> - -#endif // CULT_CLI_OPTIONS_HXX |