diff options
Diffstat (limited to 'shared/loki')
28 files changed, 2164 insertions, 2161 deletions
diff --git a/shared/loki/AbstractFactory.h b/shared/loki/AbstractFactory.h index 9a30583b..615652bd 100644 --- a/shared/loki/AbstractFactory.h +++ b/shared/loki/AbstractFactory.h @@ -170,8 +170,8 @@ class AbstractFact, class TList = typename AbstractFact::ProductList > class ConcreteFactory - : public GenLinearHierarchy< - typename TL::Reverse<TList>::Result, Creator, AbstractFact> + : public GenLinearHierarchy < + typename TL::Reverse<TList>::Result, Creator, AbstractFact > { public: typedef typename AbstractFact::ProductList ProductList; diff --git a/shared/loki/AssocVector.h b/shared/loki/AssocVector.h index ad43d152..7f259281 100644 --- a/shared/loki/AssocVector.h +++ b/shared/loki/AssocVector.h @@ -182,8 +182,8 @@ public: //http://developer.apple.com/documentation/DeveloperTools/gcc-3.3/libstdc++/23_containers/howto.html#4 iterator insert(iterator pos, const value_type& val) { - if( (pos == begin() || this->operator()(*(pos-1),val)) && - (pos == end() || this->operator()(val, *pos)) ) + if ( (pos == begin() || this->operator()(*(pos - 1), val)) && + (pos == end() || this->operator()(val, *pos)) ) { return Base::insert(pos, val); } diff --git a/shared/loki/CachedFactory.h b/shared/loki/CachedFactory.h index 567b035c..dc5a76ae 100644 --- a/shared/loki/CachedFactory.h +++ b/shared/loki/CachedFactory.h @@ -81,7 +81,7 @@ protected: AbstractProduct* release(ProductReturn& pProduct) { AbstractProduct* pPointer(pProduct); - pProduct=NULL; + pProduct = NULL; return pPointer; } const char* name() {return "pointer";} @@ -172,9 +172,9 @@ private: { using namespace std; clock_t currentTime = clock(); - D( cout << "currentTime = " << currentTime<< endl; ) - D( cout << "currentTime - lastUpdate = " << currentTime - lastUpdate<< endl; ) - if(currentTime - lastUpdate > timeValidity) + D( cout << "currentTime = " << currentTime << endl; ) + D( cout << "currentTime - lastUpdate = " << currentTime - lastUpdate << endl; ) + if (currentTime - lastUpdate > timeValidity) { m_vTimes.clear(); D( cout << " is less than time validity " << timeValidity; ) @@ -213,7 +213,7 @@ protected: bool canCreate() { cleanVector(); - if(m_vTimes.size()>maxCreation) + if (m_vTimes.size() > maxCreation) throw Exception(); else return true; @@ -233,10 +233,10 @@ public: // No more than maxCreation within byTime milliseconds void setRate(unsigned maxCreation, unsigned byTime) { - assert(byTime>0); + assert(byTime > 0); this->maxCreation = maxCreation; this->timeValidity = static_cast<clock_t>(byTime * CLOCKS_PER_SEC / 1000); - D( std::cout << "Setting no more than "<< maxCreation <<" creation within " << this->timeValidity <<" ms"<< std::endl; ) + D( std::cout << "Setting no more than " << maxCreation << " creation within " << this->timeValidity << " ms" << std::endl; ) } }; @@ -262,7 +262,7 @@ protected: bool canCreate() { - return !(created>=maxCreation); + return !(created >= maxCreation); } void onCreate() @@ -279,9 +279,9 @@ public: // set the creation max amount void setMaxCreation(unsigned maxCreation) { - assert(maxCreation>0); + assert(maxCreation > 0); this->maxCreation = maxCreation; - D( std::cout << "Setting no more than " << maxCreation <<" creation" << std::endl; ) + D( std::cout << "Setting no more than " << maxCreation << " creation" << std::endl; ) } }; @@ -324,9 +324,9 @@ protected: assert(!m_mHitCount.empty()); // inserting the swapped pair into a multimap SwappedHitMap copyMap; - for(HitMapItr itr = m_mHitCount.begin(); itr != m_mHitCount.end(); ++itr) + for (HitMapItr itr = m_mHitCount.begin(); itr != m_mHitCount.end(); ++itr) copyMap.insert(SwappedPair((*itr).second, (*itr).first)); - if((*copyMap.rbegin()).first == 0) // the higher score is 0 ... + if ((*copyMap.rbegin()).first == 0) // the higher score is 0 ... throw EvictionException(); // there is no key evict return (*copyMap.begin()).second; } @@ -381,7 +381,7 @@ protected: // this function is implemented in Cache and redirected // to the Storage Policy - virtual void remove(DT const key)=0; + virtual void remove(DT const key) = 0; // LRU Eviction policy void evict() @@ -422,7 +422,7 @@ private: updateCounter(const DT& key): key_(key) {} void operator()(T x) { - x.second = (x.first == key_ ? (x.second >> 1) | ( 1 << ((sizeof(ST)-1)*8) ) : x.second >> 1); + x.second = (x.first == key_ ? (x.second >> 1) | ( 1 << ((sizeof(ST) - 1) * 8) ) : x.second >> 1); D( std::cout << x.second << std::endl; ) } const DT& key_; @@ -461,7 +461,7 @@ protected: // this function is implemented in Cache and redirected // to the Storage Policy - virtual void remove(DT const key)=0; + virtual void remove(DT const key) = 0; // LRU with Aging Eviction policy void evict() @@ -515,15 +515,15 @@ protected: } // Implemented in Cache and redirected to the Storage Policy - virtual void remove(DT const key)=0; + virtual void remove(DT const key) = 0; // Random Eviction policy void evict() { - if(m_vKeys.empty()) + if (m_vKeys.empty()) throw EvictionException(); - size_type random = static_cast<size_type>((m_vKeys.size()*rand())/(static_cast<size_type>(RAND_MAX) + 1)); - remove(*(m_vKeys.begin()+random)); + size_type random = static_cast<size_type>((m_vKeys.size() * rand()) / (static_cast<size_type>(RAND_MAX) + 1)); + remove(*(m_vKeys.begin() + random)); } const char* name() {return "random";} }; @@ -592,9 +592,9 @@ protected: cout << "## + Currently allocated : " << allocated << endl; cout << "## + Currently out : " << out << endl; cout << "############################" << endl; - if(fetched!=0) + if (fetched != 0) { - cout << "## Overall efficiency " << 100*double(hit)/fetched <<"%"<< endl; + cout << "## Overall efficiency " << 100 * double(hit) / fetched << "%" << endl; cout << "############################" << endl; } cout << endl; @@ -629,7 +629,7 @@ public: unsigned getMissed() {return fetched - hit;} unsigned getAllocated() {return allocated;} unsigned getOut() {return out;} - unsigned getDestroyed() {return created-allocated;} + unsigned getDestroyed() {return created - allocated;} }; /////////////////////////////////////////////////////////////////////////// @@ -712,7 +712,7 @@ private: AbstractProduct* const getPointerToObjectInContainer(ObjVector& entry) { - if(entry.empty()) // No object available + if (entry.empty()) // No object available { // the object will be created in the calling function. // It has to be created in the calling function because of @@ -723,7 +723,7 @@ private: { // returning the found object AbstractProduct* pObject(entry.back()); - assert(pObject!=NULL); + assert(pObject != NULL); entry.pop_back(); return pObject; } @@ -731,9 +731,9 @@ private: bool shouldCreateObject(AbstractProduct* const pProduct) { - if(pProduct!=NULL) // object already exists + if (pProduct != NULL) // object already exists return false; - if(CP::canCreate()==false) // Are we allowed to Create ? + if (CP::canCreate() == false) // Are we allowed to Create ? EP::evict(); // calling Eviction Policy to clean up return true; } @@ -797,16 +797,16 @@ protected: virtual void remove(AbstractProduct* const pProduct) { typename FetchedObjToKeyMap::iterator fetchedItr = providedObjects.find(pProduct); - if(fetchedItr!=providedObjects.end()) // object is unreleased. + if (fetchedItr != providedObjects.end()) // object is unreleased. throw CacheException(); bool productRemoved = false; typename KeyToObjVectorMap::iterator objVectorItr; typename ObjVector::iterator objItr; - for(objVectorItr=fromKeyToObjVector.begin(); objVectorItr!=fromKeyToObjVector.end(); ++objVectorItr) + for (objVectorItr = fromKeyToObjVector.begin(); objVectorItr != fromKeyToObjVector.end(); ++objVectorItr) { ObjVector& v((*objVectorItr).second); objItr = remove_if(v.begin(), v.end(), std::bind2nd(std::equal_to<AbstractProduct*>(), pProduct)); - if(objItr != v.end()) // we found the vector containing pProduct and removed it + if (objItr != v.end()) // we found the vector containing pProduct and removed it { onDestroy(pProduct); // warning policies we are about to destroy an object v.erase(objItr, v.end()); // real removing @@ -814,7 +814,7 @@ protected: break; } } - if(productRemoved==false) + if (productRemoved == false) throw CacheException(); // the product is not in the cache ?! delete pProduct; // deleting it } @@ -833,14 +833,14 @@ public: for_each(fromKeyToObjVector.begin(), fromKeyToObjVector.end(), deleteVectorObjects< typename KeyToObjVectorMap::value_type >() ); - if(!providedObjects.empty()) + if (!providedObjects.empty()) { // The factory is responsible for the creation and destruction of objects. // If objects are out during the destruction of the Factory : deleting anyway. // This might not be a good idea. But throwing an exception in a destructor is // considered as a bad pratice and asserting might be too much. // What to do ? Leaking memory or corrupting in use pointers ? hmm... - D( cout << "====>> Cache destructor : deleting "<< providedObjects.size()<<" in use objects <<====" << endl << endl; ) + D( cout << "====>> Cache destructor : deleting " << providedObjects.size() << " in use objects <<====" << endl << endl; ) for_each(providedObjects.begin(), providedObjects.end(), deleteMapKeys< typename FetchedObjToKeyMap::value_type >() ); @@ -878,7 +878,7 @@ public: { MyKey key(id); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { pProduct = factory.CreateObject(key.id); onCreate(pProduct); @@ -891,11 +891,11 @@ public: ProductReturn CreateObject(const IdentifierType& id, Parm1 p1) { - MyKey key(id,p1); + MyKey key(id, p1); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1); + pProduct = factory.CreateObject(key.id, key.p1); onCreate(pProduct); } onFetch(pProduct); @@ -906,11 +906,11 @@ public: ProductReturn CreateObject(const IdentifierType& id, Parm1 p1, Parm2 p2) { - MyKey key(id,p1,p2); + MyKey key(id, p1, p2); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2); + pProduct = factory.CreateObject(key.id, key.p1, key.p2); onCreate(pProduct); } onFetch(pProduct); @@ -921,11 +921,11 @@ public: ProductReturn CreateObject(const IdentifierType& id, Parm1 p1, Parm2 p2, Parm3 p3) { - MyKey key(id,p1,p2,p3); + MyKey key(id, p1, p2, p3); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3); onCreate(pProduct); } onFetch(pProduct); @@ -936,12 +936,12 @@ public: ProductReturn CreateObject(const IdentifierType& id, Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4) { - MyKey key(id,p1,p2,p3,p4); + MyKey key(id, p1, p2, p3, p4); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4); onCreate(pProduct); } onFetch(pProduct); @@ -952,12 +952,12 @@ public: ProductReturn CreateObject(const IdentifierType& id, Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5) { - MyKey key(id,p1,p2,p3,p4,p5); + MyKey key(id, p1, p2, p3, p4, p5); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5); onCreate(pProduct); } onFetch(pProduct); @@ -969,12 +969,12 @@ public: Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6) { - MyKey key(id,p1,p2,p3,p4,p5,p6); + MyKey key(id, p1, p2, p3, p4, p5, p6); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5,key.p6); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5, key.p6); onCreate(pProduct); } onFetch(pProduct); @@ -986,12 +986,12 @@ public: Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7 ) { - MyKey key(id,p1,p2,p3,p4,p5,p6,p7); + MyKey key(id, p1, p2, p3, p4, p5, p6, p7); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5,key.p6,key.p7); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5, key.p6, key.p7); onCreate(pProduct); } onFetch(pProduct); @@ -1003,12 +1003,12 @@ public: Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7, Parm8 p8) { - MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8); + MyKey key(id, p1, p2, p3, p4, p5, p6, p7, p8); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5,key.p6,key.p7,key.p8); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5, key.p6, key.p7, key.p8); onCreate(pProduct); } onFetch(pProduct); @@ -1020,12 +1020,12 @@ public: Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9) { - MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9); + MyKey key(id, p1, p2, p3, p4, p5, p6, p7, p8, p9); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5,key.p6,key.p7,key.p8,key.p9); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5, key.p6, key.p7, key.p8, key.p9); onCreate(pProduct); } onFetch(pProduct); @@ -1035,14 +1035,14 @@ public: ProductReturn CreateObject(const IdentifierType& id, Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, - Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9,Parm10 p10) + Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10) { - MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10); + MyKey key(id, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5,key.p6,key.p7,key.p8,key.p9,key.p10); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5, key.p6, key.p7, key.p8, key.p9, key.p10); onCreate(pProduct); } onFetch(pProduct); @@ -1055,12 +1055,12 @@ public: Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10, Parm11 p11) { - MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11); + MyKey key(id, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5,key.p6,key.p7,key.p8,key.p9,key.p10,key.p11); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5, key.p6, key.p7, key.p8, key.p9, key.p10, key.p11); onCreate(pProduct); } onFetch(pProduct); @@ -1073,12 +1073,12 @@ public: Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10, Parm11 p11, Parm12 p12) { - MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12); + MyKey key(id, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5,key.p6,key.p7,key.p8,key.p9,key.p10,key.p11,key.p12); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5, key.p6, key.p7, key.p8, key.p9, key.p10, key.p11, key.p12); onCreate(pProduct); } onFetch(pProduct); @@ -1091,13 +1091,13 @@ public: Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10, Parm11 p11, Parm12 p12, Parm13 p13) { - MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13); + MyKey key(id, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5,key.p6,key.p7,key.p8,key.p9,key.p10,key.p11,key.p12 - ,key.p13); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5, key.p6, key.p7, key.p8, key.p9, key.p10, key.p11, key.p12 + , key.p13); onCreate(pProduct); } onFetch(pProduct); @@ -1110,13 +1110,13 @@ public: Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10, Parm11 p11, Parm12 p12, Parm13 p13, Parm14 p14) { - MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14); + MyKey key(id, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5,key.p6,key.p7,key.p8,key.p9,key.p10,key.p11,key.p12 - ,key.p13,key.p14); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5, key.p6, key.p7, key.p8, key.p9, key.p10, key.p11, key.p12 + , key.p13, key.p14); onCreate(pProduct); } onFetch(pProduct); @@ -1129,13 +1129,13 @@ public: Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10, Parm11 p11, Parm12 p12, Parm13 p13, Parm14 p14, Parm15 p15) { - MyKey key(id,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15); + MyKey key(id, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15); AbstractProduct* pProduct(getPointerToObjectInContainer(getContainerFromKey(key))); - if(shouldCreateObject(pProduct)) + if (shouldCreateObject(pProduct)) { - pProduct = factory.CreateObject(key.id,key.p1,key.p2,key.p3 - ,key.p4,key.p5,key.p6,key.p7,key.p8,key.p9,key.p10,key.p11,key.p12 - ,key.p13,key.p14,key.p15); + pProduct = factory.CreateObject(key.id, key.p1, key.p2, key.p3 + , key.p4, key.p5, key.p6, key.p7, key.p8, key.p9, key.p10, key.p11, key.p12 + , key.p13, key.p14, key.p15); onCreate(pProduct); } onFetch(pProduct); @@ -1153,7 +1153,7 @@ public: { AbstractProduct* pProduct(NP::release(object)); typename FetchedObjToKeyMap::iterator itr = providedObjects.find(pProduct); - if(itr == providedObjects.end()) + if (itr == providedObjects.end()) throw CacheException(); onRelease(pProduct); ReleaseObjectFromContainer(getContainerFromKey((*itr).second), pProduct); diff --git a/shared/loki/Factory.h b/shared/loki/Factory.h index abf4ab3b..bf31afc5 100644 --- a/shared/loki/Factory.h +++ b/shared/loki/Factory.h @@ -140,25 +140,25 @@ struct FactoryImpl<AP, Id, NullType> virtual AP* CreateObject(const Id& id ) = 0; }; template <typename AP, typename Id, typename P1 > -struct FactoryImpl<AP,Id, Seq<P1> > +struct FactoryImpl<AP, Id, Seq<P1> > : public FactoryImplBase { typedef typename TypeTraits<P1>::ParameterType Parm1; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1 ) = 0; + virtual AP* CreateObject(const Id& id, Parm1 ) = 0; }; -template<typename AP, typename Id, typename P1,typename P2 > +template<typename AP, typename Id, typename P1, typename P2 > struct FactoryImpl<AP, Id, Seq<P1, P2> > : public FactoryImplBase { typedef typename TypeTraits<P1>::ParameterType Parm1; typedef typename TypeTraits<P2>::ParameterType Parm2; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2 ) = 0; + virtual AP* CreateObject(const Id& id, Parm1, Parm2 ) = 0; }; -template<typename AP, typename Id, typename P1,typename P2,typename P3 > +template<typename AP, typename Id, typename P1, typename P2, typename P3 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3> > : public FactoryImplBase { @@ -166,10 +166,10 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3> > typedef typename TypeTraits<P2>::ParameterType Parm2; typedef typename TypeTraits<P3>::ParameterType Parm3; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3 ) = 0; + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3 ) = 0; }; -template<typename AP, typename Id, typename P1,typename P2,typename P3,typename P4 > +template<typename AP, typename Id, typename P1, typename P2, typename P3, typename P4 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4> > : public FactoryImplBase { @@ -178,11 +178,11 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4> > typedef typename TypeTraits<P3>::ParameterType Parm3; typedef typename TypeTraits<P4>::ParameterType Parm4; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4 ) = 0; + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4 ) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5 > +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5> > : public FactoryImplBase { @@ -192,12 +192,12 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5> > typedef typename TypeTraits<P4>::ParameterType Parm4; typedef typename TypeTraits<P5>::ParameterType Parm5; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5 ) = 0; + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5 ) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6> > : public FactoryImplBase { @@ -208,14 +208,14 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6> > typedef typename TypeTraits<P5>::ParameterType Parm5; typedef typename TypeTraits<P6>::ParameterType Parm6; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, Parm6 ) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7> > : public FactoryImplBase { @@ -227,14 +227,14 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7> > typedef typename TypeTraits<P6>::ParameterType Parm6; typedef typename TypeTraits<P7>::ParameterType Parm7; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7 ) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8> > : public FactoryImplBase { @@ -247,14 +247,14 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8> > typedef typename TypeTraits<P7>::ParameterType Parm7; typedef typename TypeTraits<P8>::ParameterType Parm8; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9> > : public FactoryImplBase { @@ -268,14 +268,14 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9> > typedef typename TypeTraits<P8>::ParameterType Parm8; typedef typename TypeTraits<P9>::ParameterType Parm9; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8, Parm9) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> > : public FactoryImplBase { @@ -290,15 +290,15 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> > typedef typename TypeTraits<P9>::ParameterType Parm9; typedef typename TypeTraits<P10>::ParameterType Parm10; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm9,Parm10) + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm9, Parm10) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10, - typename P11> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10, + typename P11 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> > : public FactoryImplBase { @@ -314,16 +314,16 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> > typedef typename TypeTraits<P10>::ParameterType Parm10; typedef typename TypeTraits<P11>::ParameterType Parm11; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm9,Parm10, + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm9, Parm10, Parm11) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10, - typename P11,typename P12> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10, + typename P11, typename P12 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> > : public FactoryImplBase { @@ -340,16 +340,16 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 typedef typename TypeTraits<P11>::ParameterType Parm11; typedef typename TypeTraits<P12>::ParameterType Parm12; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm9,Parm10, - Parm11,Parm12) + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm9, Parm10, + Parm11, Parm12) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10, - typename P11,typename P12,typename P13> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10, + typename P11, typename P12, typename P13 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> > : public FactoryImplBase { @@ -367,16 +367,16 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 typedef typename TypeTraits<P12>::ParameterType Parm12; typedef typename TypeTraits<P13>::ParameterType Parm13; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm9,Parm10, - Parm11,Parm12,Parm13) + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm9, Parm10, + Parm11, Parm12, Parm13) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10, - typename P11,typename P12,typename P13,typename P14> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10, + typename P11, typename P12, typename P13, typename P14 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> > : public FactoryImplBase { @@ -395,16 +395,16 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 typedef typename TypeTraits<P13>::ParameterType Parm13; typedef typename TypeTraits<P14>::ParameterType Parm14; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm8,Parm10, - Parm11,Parm12,Parm13,Parm14) + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm8, Parm10, + Parm11, Parm12, Parm13, Parm14) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10, - typename P11,typename P12,typename P13,typename P14,typename P15 > +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10, + typename P11, typename P12, typename P13, typename P14, typename P15 > struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15> > : public FactoryImplBase { @@ -424,34 +424,34 @@ struct FactoryImpl<AP, Id, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 typedef typename TypeTraits<P14>::ParameterType Parm14; typedef typename TypeTraits<P15>::ParameterType Parm15; virtual ~FactoryImpl() {} - virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm9,Parm10, - Parm11,Parm12,Parm13,Parm14,Parm15 ) + virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm9, Parm10, + Parm11, Parm12, Parm13, Parm14, Parm15 ) = 0; }; #ifndef LOKI_DISABLE_TYPELIST_MACROS template <typename AP, typename Id, typename P1 > -struct FactoryImpl<AP,Id, LOKI_TYPELIST_1( P1 )> +struct FactoryImpl<AP, Id, LOKI_TYPELIST_1( P1 )> : public FactoryImplBase { typedef typename TypeTraits<P1>::ParameterType Parm1; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1 ) = 0; +virtual AP* CreateObject(const Id& id, Parm1 ) = 0; }; -template<typename AP, typename Id, typename P1,typename P2 > +template<typename AP, typename Id, typename P1, typename P2 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_2( P1, P2 )> : public FactoryImplBase { typedef typename TypeTraits<P1>::ParameterType Parm1; typedef typename TypeTraits<P2>::ParameterType Parm2; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2 ) = 0; +virtual AP* CreateObject(const Id& id, Parm1, Parm2 ) = 0; }; -template<typename AP, typename Id, typename P1,typename P2,typename P3 > +template<typename AP, typename Id, typename P1, typename P2, typename P3 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_3( P1, P2, P3 )> : public FactoryImplBase { @@ -459,10 +459,10 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_3( P1, P2, P3 )> typedef typename TypeTraits<P2>::ParameterType Parm2; typedef typename TypeTraits<P3>::ParameterType Parm3; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3 ) = 0; +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3 ) = 0; }; -template<typename AP, typename Id, typename P1,typename P2,typename P3,typename P4 > +template<typename AP, typename Id, typename P1, typename P2, typename P3, typename P4 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_4( P1, P2, P3, P4 )> : public FactoryImplBase { @@ -471,11 +471,11 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_4( P1, P2, P3, P4 )> typedef typename TypeTraits<P3>::ParameterType Parm3; typedef typename TypeTraits<P4>::ParameterType Parm4; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4 ) = 0; +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4 ) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5 > +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_5( P1, P2, P3, P4, P5 )> : public FactoryImplBase { @@ -485,12 +485,12 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_5( P1, P2, P3, P4, P5 )> typedef typename TypeTraits<P4>::ParameterType Parm4; typedef typename TypeTraits<P5>::ParameterType Parm5; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5 ) = 0; +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5 ) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_6( P1, P2, P3, P4, P5, P6 )> : public FactoryImplBase { @@ -501,14 +501,14 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_6( P1, P2, P3, P4, P5, P6 )> typedef typename TypeTraits<P5>::ParameterType Parm5; typedef typename TypeTraits<P6>::ParameterType Parm6; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, Parm6 ) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_7( P1, P2, P3, P4, P5, P6, P7 )> : public FactoryImplBase { @@ -520,14 +520,14 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_7( P1, P2, P3, P4, P5, P6, P7 )> typedef typename TypeTraits<P6>::ParameterType Parm6; typedef typename TypeTraits<P7>::ParameterType Parm7; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7 ) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_8( P1, P2, P3, P4, P5, P6, P7, P8 )> : public FactoryImplBase { @@ -540,14 +540,14 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_8( P1, P2, P3, P4, P5, P6, P7, P8 )> typedef typename TypeTraits<P7>::ParameterType Parm7; typedef typename TypeTraits<P8>::ParameterType Parm8; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_9( P1, P2, P3, P4, P5, P6, P7, P8, P9 )> : public FactoryImplBase { @@ -561,14 +561,14 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_9( P1, P2, P3, P4, P5, P6, P7, P8, P9 ) typedef typename TypeTraits<P8>::ParameterType Parm8; typedef typename TypeTraits<P9>::ParameterType Parm9; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, Parm6, Parm7, Parm8, Parm9) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_10( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 )> : public FactoryImplBase { @@ -583,15 +583,15 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_10( P1, P2, P3, P4, P5, P6, P7, P8, P9, typedef typename TypeTraits<P9>::ParameterType Parm9; typedef typename TypeTraits<P10>::ParameterType Parm10; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm9,Parm10) +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm9, Parm10) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10, - typename P11> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10, + typename P11 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_11( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 )> : public FactoryImplBase { @@ -607,16 +607,16 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_11( P1, P2, P3, P4, P5, P6, P7, P8, P9, typedef typename TypeTraits<P10>::ParameterType Parm10; typedef typename TypeTraits<P11>::ParameterType Parm11; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm9,Parm10, +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm9, Parm10, Parm11) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10, - typename P11,typename P12> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10, + typename P11, typename P12 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_12( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 )> : public FactoryImplBase { @@ -633,16 +633,16 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_12( P1, P2, P3, P4, P5, P6, P7, P8, P9, typedef typename TypeTraits<P11>::ParameterType Parm11; typedef typename TypeTraits<P12>::ParameterType Parm12; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm9,Parm10, - Parm11,Parm12) +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm9, Parm10, + Parm11, Parm12) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10, - typename P11,typename P12,typename P13> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10, + typename P11, typename P12, typename P13 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_13( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 )> : public FactoryImplBase { @@ -660,16 +660,16 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_13( P1, P2, P3, P4, P5, P6, P7, P8, P9, typedef typename TypeTraits<P12>::ParameterType Parm12; typedef typename TypeTraits<P13>::ParameterType Parm13; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm9,Parm10, - Parm11,Parm12,Parm13) +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm9, Parm10, + Parm11, Parm12, Parm13) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10, - typename P11,typename P12,typename P13,typename P14> +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10, + typename P11, typename P12, typename P13, typename P14 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_14( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14 )> : public FactoryImplBase { @@ -688,16 +688,16 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_14( P1, P2, P3, P4, P5, P6, P7, P8, P9, typedef typename TypeTraits<P13>::ParameterType Parm13; typedef typename TypeTraits<P14>::ParameterType Parm14; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm8,Parm10, - Parm11,Parm12,Parm13,Parm14) +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm8, Parm10, + Parm11, Parm12, Parm13, Parm14) = 0; }; -template<typename AP, typename Id, - typename P1,typename P2,typename P3,typename P4,typename P5, - typename P6,typename P7,typename P8,typename P9,typename P10, - typename P11,typename P12,typename P13,typename P14,typename P15 > +template < typename AP, typename Id, + typename P1, typename P2, typename P3, typename P4, typename P5, + typename P6, typename P7, typename P8, typename P9, typename P10, + typename P11, typename P12, typename P13, typename P14, typename P15 > struct FactoryImpl<AP, Id, LOKI_TYPELIST_15( P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15 )> : public FactoryImplBase { @@ -717,9 +717,9 @@ struct FactoryImpl<AP, Id, LOKI_TYPELIST_15( P1, P2, P3, P4, P5, P6, P7, P8, P9, typedef typename TypeTraits<P14>::ParameterType Parm14; typedef typename TypeTraits<P15>::ParameterType Parm15; virtual ~FactoryImpl() {} -virtual AP* CreateObject(const Id& id,Parm1, Parm2, Parm3, Parm4, Parm5, - Parm6, Parm7, Parm8, Parm9,Parm10, - Parm11,Parm12,Parm13,Parm14,Parm15 ) +virtual AP* CreateObject(const Id& id, Parm1, Parm2, Parm3, Parm4, Parm5, + Parm6, Parm7, Parm8, Parm9, Parm10, + Parm11, Parm12, Parm13, Parm14, Parm15 ) = 0; }; @@ -809,8 +809,8 @@ public: std::vector<IdentifierType> RegisteredIds() { std::vector<IdentifierType> ids; - for(typename IdToProductMap::iterator it = associations_.begin(); - it != associations_.end(); ++it) + for (typename IdToProductMap::iterator it = associations_.begin(); + it != associations_.end(); ++it) { ids.push_back(it->first); } @@ -839,7 +839,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2 ); + return (i->second)( p1, p2 ); return this->OnUnknownType(id); } @@ -848,7 +848,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3 ); + return (i->second)( p1, p2, p3 ); return this->OnUnknownType(id); } @@ -857,7 +857,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4 ); + return (i->second)( p1, p2, p3, p4 ); return this->OnUnknownType(id); } @@ -866,7 +866,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5 ); + return (i->second)( p1, p2, p3, p4, p5 ); return this->OnUnknownType(id); } @@ -876,7 +876,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5,p6 ); + return (i->second)( p1, p2, p3, p4, p5, p6 ); return this->OnUnknownType(id); } @@ -886,7 +886,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5,p6,p7 ); + return (i->second)( p1, p2, p3, p4, p5, p6, p7 ); return this->OnUnknownType(id); } @@ -896,7 +896,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5,p6,p7,p8 ); + return (i->second)( p1, p2, p3, p4, p5, p6, p7, p8 ); return this->OnUnknownType(id); } @@ -906,16 +906,16 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5,p6,p7,p8,p9 ); + return (i->second)( p1, p2, p3, p4, p5, p6, p7, p8, p9 ); return this->OnUnknownType(id); } AbstractProduct* CreateObject(const IdentifierType& id, Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, - Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9,Parm10 p10) + Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10) { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5,p6,p7,p8,p9,p10 ); + return (i->second)( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 ); return this->OnUnknownType(id); } @@ -926,7 +926,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11 ); + return (i->second)( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11 ); return this->OnUnknownType(id); } @@ -937,7 +937,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12 ); + return (i->second)( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12 ); return this->OnUnknownType(id); } @@ -948,7 +948,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13 ); + return (i->second)( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13 ); return this->OnUnknownType(id); } @@ -959,7 +959,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14 ); + return (i->second)( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14 ); return this->OnUnknownType(id); } @@ -970,7 +970,7 @@ public: { typename IdToProductMap::iterator i = associations_.find(id); if (i != associations_.end()) - return (i->second)( p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15 ); + return (i->second)( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15 ); return this->OnUnknownType(id); } diff --git a/shared/loki/Function.h b/shared/loki/Function.h index f2badfe9..5f388d3c 100644 --- a/shared/loki/Function.h +++ b/shared/loki/Function.h @@ -54,7 +54,7 @@ struct Function<R()> : public Functor<R> Function(const Function& func) : FBase() { - if( !func.empty()) + if ( !func.empty()) FBase::operator=(func); } @@ -62,14 +62,14 @@ Function(const Function& func) : FBase() template<class R2> Function(Function<R2()> func) : FBase() { - if(!func.empty()) + if (!func.empty()) FBase::operator=(func); } // clear by '= 0' Function(const int i) : FBase() { - if(i==0) + if (i == 0) FBase::clear(); else throw std::runtime_error("Loki::Function(const int i): i!=0"); @@ -79,7 +79,7 @@ template<class Func> Function(Func func) : FBase(func) {} template<class Host, class Func> -Function(const Host& host, const Func& func) : FBase(host,func) {} +Function(const Host& host, const Func& func) : FBase(host, func) {} }; @@ -89,38 +89,38 @@ Function(const Host& host, const Func& func) : FBase(host,func) {} //////////////////////////////////////////////////////////////////////////////// #define LOKI_FUNCTION_BODY \ - \ - Function() : FBase() {} \ - \ - Function(const Function& func) : FBase() \ - { \ - if( !func.empty()) \ - FBase::operator=(func); \ - } \ - \ - Function(const int i) : FBase() \ - { \ - if(i==0) \ - FBase::clear(); \ - else \ - throw std::runtime_error( \ - "Loki::Function(const int i): i!=0"); \ - } \ - \ - template<class Func> \ - Function(Func func) : FBase(func) {} \ - \ - template<class Host, class Func> \ - Function(const Host& host, const Func& func): FBase(host,func) {} + \ + Function() : FBase() {} \ + \ + Function(const Function& func) : FBase() \ + { \ + if( !func.empty()) \ + FBase::operator=(func); \ + } \ + \ + Function(const int i) : FBase() \ + { \ + if(i==0) \ + FBase::clear(); \ + else \ + throw std::runtime_error( \ + "Loki::Function(const int i): i!=0"); \ + } \ + \ + template<class Func> \ + Function(Func func) : FBase(func) {} \ + \ + template<class Host, class Func> \ + Function(const Host& host, const Func& func): FBase(host,func) {} #define LOKI_FUNCTION_R2_CTOR_BODY \ - \ - : FBase() \ - { \ - if(!func.empty()) \ - FBase::operator=(func); \ - } + \ + : FBase() \ + { \ + if(!func.empty()) \ + FBase::operator=(func); \ + } //////////////////////////////////////////////////////////////////////////////// @@ -143,225 +143,225 @@ struct Function<> // or define LOKI_ENABLE_FUNCTION }; -template<class R,class P01> +template<class R, class P01> struct Function<R(P01)> : public Loki::Functor<R, Seq<P01> > { typedef Functor<R, Seq<P01> > FBase; - template<class R2,class Q01> + template<class R2, class Q01> Function(Function<R2(Q01)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R,class P01,class P02> -struct Function<R(P01,P02)> -: public Functor<R, Seq<P01,P02> > +template<class R, class P01, class P02> +struct Function<R(P01, P02)> +: public Functor<R, Seq<P01, P02> > { - typedef Functor<R, Seq<P01,P02> > FBase; + typedef Functor<R, Seq<P01, P02> > FBase; - template<class R2,class Q01, class Q02> - Function(Function<R2(Q01,Q02)> func) + template<class R2, class Q01, class Q02> + Function(Function<R2(Q01, Q02)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R,class P01,class P02, class P03> -struct Function<R(P01,P02,P03)> -: public Functor<R, Seq<P01,P02,P03> > +template<class R, class P01, class P02, class P03> +struct Function<R(P01, P02, P03)> +: public Functor<R, Seq<P01, P02, P03> > { - typedef Functor<R, Seq<P01,P02,P03> > FBase; + typedef Functor<R, Seq<P01, P02, P03> > FBase; - template<class R2,class Q01, class Q02,class Q03> - Function(Function<R2(Q01,Q02,Q03)> func) + template<class R2, class Q01, class Q02, class Q03> + Function(Function<R2(Q01, Q02, Q03)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R,class P01,class P02, class P03,class P04> -struct Function<R(P01,P02,P03,P04)> -: public Functor<R, Seq<P01,P02,P03,P04> > +template<class R, class P01, class P02, class P03, class P04> +struct Function<R(P01, P02, P03, P04)> +: public Functor<R, Seq<P01, P02, P03, P04> > { - typedef Functor<R, Seq<P01,P02,P03,P04> > FBase; + typedef Functor<R, Seq<P01, P02, P03, P04> > FBase; - template<class R2,class Q01,class Q02, class Q03,class Q04> - Function(Function<R2(Q01,Q02,Q03,Q04)> func) + template<class R2, class Q01, class Q02, class Q03, class Q04> + Function(Function<R2(Q01, Q02, Q03, Q04)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R,class P01,class P02, class P03,class P04,class P05> -struct Function<R(P01,P02,P03,P04,P05)> -: public Functor<R, Seq<P01,P02,P03,P04,P05> > +template<class R, class P01, class P02, class P03, class P04, class P05> +struct Function<R(P01, P02, P03, P04, P05)> +: public Functor<R, Seq<P01, P02, P03, P04, P05> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05> > FBase; + typedef Functor<R, Seq<P01, P02, P03, P04, P05> > FBase; - template<class R2,class Q01,class Q02, class Q03,class Q04,class Q05> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05)> func) + template<class R2, class Q01, class Q02, class Q03, class Q04, class Q05> + Function(Function<R2(Q01, Q02, Q03, Q04, Q05)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R, class P01,class P02, class P03,class P04,class P05, - class P06> -struct Function<R(P01,P02,P03,P04,P05,P06)> -: public Functor<R, Seq<P01,P02,P03,P04,P05,P06> > +template < class R, class P01, class P02, class P03, class P04, class P05, + class P06 > +struct Function<R(P01, P02, P03, P04, P05, P06)> +: public Functor<R, Seq<P01, P02, P03, P04, P05, P06> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05,P06> > FBase; + typedef Functor<R, Seq<P01, P02, P03, P04, P05, P06> > FBase; - template<class R2, class Q01,class Q02, class Q03,class Q04,class Q05, - class Q06> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05,Q06)> func) + template < class R2, class Q01, class Q02, class Q03, class Q04, class Q05, + class Q06 > + Function(Function<R2(Q01, Q02, Q03, Q04, Q05, Q06)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R, class P01,class P02, class P03,class P04,class P05, - class P06,class P07> -struct Function<R(P01,P02,P03,P04,P05,P06,P07)> -: public Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07> > +template < class R, class P01, class P02, class P03, class P04, class P05, + class P06, class P07 > +struct Function<R(P01, P02, P03, P04, P05, P06, P07)> +: public Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07> > FBase; + typedef Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07> > FBase; - template<class R2, class Q01,class Q02, class Q03,class Q04,class Q05, - class Q06,class Q07> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05,Q06,Q07)> func) + template < class R2, class Q01, class Q02, class Q03, class Q04, class Q05, + class Q06, class Q07 > + Function(Function<R2(Q01, Q02, Q03, Q04, Q05, Q06, Q07)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R, class P01,class P02, class P03,class P04,class P05, - class P06,class P07, class P08> -struct Function<R(P01,P02,P03,P04,P05,P06,P07,P08)> -: public Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08> > +template < class R, class P01, class P02, class P03, class P04, class P05, + class P06, class P07, class P08 > +struct Function<R(P01, P02, P03, P04, P05, P06, P07, P08)> +: public Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08> > FBase; + typedef Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08> > FBase; - template<class R2, class Q01,class Q02, class Q03,class Q04,class Q05, - class Q06,class Q07, class Q08> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05,Q06,Q07,Q08)> func) + template < class R2, class Q01, class Q02, class Q03, class Q04, class Q05, + class Q06, class Q07, class Q08 > + Function(Function<R2(Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R, class P01,class P02, class P03,class P04,class P05, - class P06,class P07, class P08,class P09> -struct Function<R(P01,P02,P03,P04,P05,P06,P07,P08,P09)> -: public Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09> > +template < class R, class P01, class P02, class P03, class P04, class P05, + class P06, class P07, class P08, class P09 > +struct Function<R(P01, P02, P03, P04, P05, P06, P07, P08, P09)> +: public Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09 > > FBase; + typedef Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09 > > FBase; - template<class R2, class Q01,class Q02, class Q03,class Q04,class Q05, - class Q06,class Q07, class Q08,class Q09> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05,Q06,Q07,Q08,Q09)> func) + template < class R2, class Q01, class Q02, class Q03, class Q04, class Q05, + class Q06, class Q07, class Q08, class Q09 > + Function(Function<R2(Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R, class P01,class P02, class P03,class P04,class P05, - class P06,class P07, class P08,class P09,class P10> -struct Function<R(P01,P02,P03,P04,P05,P06,P07,P08,P09,P10)> -: public Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10> > +template < class R, class P01, class P02, class P03, class P04, class P05, + class P06, class P07, class P08, class P09, class P10 > +struct Function<R(P01, P02, P03, P04, P05, P06, P07, P08, P09, P10)> +: public Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10> > FBase; + typedef Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10> > FBase; - template<class R2, class Q01,class Q02, class Q03,class Q04,class Q05, - class Q06,class Q07, class Q08,class Q09,class Q10> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05,Q06,Q07,Q08,Q09,Q10)> func) + template < class R2, class Q01, class Q02, class Q03, class Q04, class Q05, + class Q06, class Q07, class Q08, class Q09, class Q10 > + Function(Function<R2(Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q10)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R, class P01,class P02, class P03,class P04,class P05, - class P06,class P07, class P08,class P09,class P10, - class P11> -struct Function<R(P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11)> -: public Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11> > +template < class R, class P01, class P02, class P03, class P04, class P05, + class P06, class P07, class P08, class P09, class P10, + class P11 > +struct Function<R(P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11)> +: public Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11> >FBase; + typedef Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11> >FBase; - template<class R2, class Q01,class Q02, class Q03,class Q04,class Q05, - class Q06,class Q07, class Q08,class Q09,class Q10, - class Q11> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05,Q06,Q07,Q08,Q09,Q10,Q11)> func) + template < class R2, class Q01, class Q02, class Q03, class Q04, class Q05, + class Q06, class Q07, class Q08, class Q09, class Q10, + class Q11 > + Function(Function<R2(Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q10, Q11)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R, class P01,class P02, class P03,class P04,class P05, - class P06,class P07, class P08,class P09,class P10, - class P11,class P12> -struct Function<R(P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12)> -: public Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12> > +template < class R, class P01, class P02, class P03, class P04, class P05, + class P06, class P07, class P08, class P09, class P10, + class P11, class P12 > +struct Function<R(P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12)> +: public Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12> > FBase; + typedef Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12> > FBase; - template<class R2, class Q01,class Q02, class Q03,class Q04,class Q05, - class Q06,class Q07, class Q08,class Q09,class Q10, - class Q11,class Q12> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05,Q06,Q07,Q08,Q09,Q10,Q11,Q12)> func) + template < class R2, class Q01, class Q02, class Q03, class Q04, class Q05, + class Q06, class Q07, class Q08, class Q09, class Q10, + class Q11, class Q12 > + Function(Function<R2(Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q10, Q11, Q12)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R, class P01,class P02, class P03,class P04,class P05, - class P06,class P07, class P08,class P09,class P10, - class P11,class P12, class P13> -struct Function<R(P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12,P13)> -: public Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12,P13> > +template < class R, class P01, class P02, class P03, class P04, class P05, + class P06, class P07, class P08, class P09, class P10, + class P11, class P12, class P13 > +struct Function<R(P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13)> +: public Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12,P13> > FBase; + typedef Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13> > FBase; - template<class R2, class Q01,class Q02, class Q03,class Q04,class Q05, - class Q06,class Q07, class Q08,class Q09,class Q10, - class Q11,class Q12, class Q13> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05,Q06,Q07,Q08,Q09,Q10,Q11,Q12,Q13)> func) + template < class R2, class Q01, class Q02, class Q03, class Q04, class Q05, + class Q06, class Q07, class Q08, class Q09, class Q10, + class Q11, class Q12, class Q13 > + Function(Function<R2(Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q10, Q11, Q12, Q13)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R, class P01,class P02, class P03,class P04,class P05, - class P06,class P07, class P08,class P09,class P10, - class P11,class P12, class P13,class P14> -struct Function<R(P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12,P13,P14)> -: public Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12,P13,P14> > +template < class R, class P01, class P02, class P03, class P04, class P05, + class P06, class P07, class P08, class P09, class P10, + class P11, class P12, class P13, class P14 > +struct Function<R(P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14)> +: public Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12,P13,P14> > FBase; - template<class R2, class Q01,class Q02, class Q03,class Q04,class Q05, - class Q06,class Q07, class Q08,class Q09,class Q10, - class Q11,class Q12, class Q13,class Q14> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05,Q06,Q07,Q08,Q09,Q10,Q11,Q12,Q13,Q14)> func) + typedef Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14> > FBase; + template < class R2, class Q01, class Q02, class Q03, class Q04, class Q05, + class Q06, class Q07, class Q08, class Q09, class Q10, + class Q11, class Q12, class Q13, class Q14 > + Function(Function<R2(Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q10, Q11, Q12, Q13, Q14)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY }; -template<class R, class P01,class P02, class P03,class P04,class P05, - class P06,class P07, class P08,class P09,class P10, - class P11,class P12, class P13,class P14,class P15> -struct Function<R(P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12,P13,P14,P15)> -: public Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12,P13,P14,P15> > +template < class R, class P01, class P02, class P03, class P04, class P05, + class P06, class P07, class P08, class P09, class P10, + class P11, class P12, class P13, class P14, class P15 > +struct Function<R(P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15)> +: public Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15> > { - typedef Functor<R, Seq<P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12,P13,P14,P15> > FBase; + typedef Functor<R, Seq<P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15> > FBase; - template<class R2, class Q01,class Q02, class Q03,class Q04,class Q05, - class Q06,class Q07, class Q08,class Q09,class Q10, - class Q11,class Q12, class Q13,class Q14,class Q15> - Function(Function<R2(Q01,Q02,Q03,Q04,Q05,Q06,Q07,Q08,Q09,Q10,Q11,Q12,Q13,Q14,Q15)> func) + template < class R2, class Q01, class Q02, class Q03, class Q04, class Q05, + class Q06, class Q07, class Q08, class Q09, class Q10, + class Q11, class Q12, class Q13, class Q14, class Q15 > + Function(Function<R2(Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q10, Q11, Q12, Q13, Q14, Q15)> func) LOKI_FUNCTION_R2_CTOR_BODY LOKI_FUNCTION_BODY diff --git a/shared/loki/Functor.h b/shared/loki/Functor.h index a03f87c8..664af077 100644 --- a/shared/loki/Functor.h +++ b/shared/loki/Functor.h @@ -122,8 +122,8 @@ struct FunctorImplBase // Specializations of FunctorImpl for up to 15 parameters follow //////////////////////////////////////////////////////////////////////////////// -template <typename R, class TList, - template <class, class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL> +template < typename R, class TList, + template <class, class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL > class FunctorImpl; //////////////////////////////////////////////////////////////////////////////// @@ -160,8 +160,8 @@ public: // Specialization for 2 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, - template <class, class> class ThreadingModel> +template < typename R, typename P1, typename P2, + template <class, class> class ThreadingModel > class FunctorImpl<R, Seq<P1, P2>, ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -177,8 +177,8 @@ public: // Specialization for 3 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, - template <class, class> class ThreadingModel> +template < typename R, typename P1, typename P2, typename P3, + template <class, class> class ThreadingModel > class FunctorImpl<R, Seq<P1, P2, P3>, ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -195,8 +195,8 @@ public: // Specialization for 4 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, - template <class, class> class ThreadingModel> +template < typename R, typename P1, typename P2, typename P3, typename P4, + template <class, class> class ThreadingModel > class FunctorImpl<R, Seq<P1, P2, P3, P4>, ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -214,9 +214,9 @@ public: // Specialization for 5 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, - template <class, class> class ThreadingModel> + template <class, class> class ThreadingModel > class FunctorImpl<R, Seq<P1, P2, P3, P4, P5>, ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -235,9 +235,9 @@ public: // Specialization for 6 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, - template <class, class> class ThreadingModel> + template <class, class> class ThreadingModel > class FunctorImpl<R, Seq<P1, P2, P3, P4, P5, P6>, ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -257,9 +257,9 @@ public: // Specialization for 7 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, - template <class, class> class ThreadingModel> + template <class, class> class ThreadingModel > class FunctorImpl<R, Seq<P1, P2, P3, P4, P5, P6, P7>, ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -281,11 +281,11 @@ public: // Specialization for 8 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, - template <class, class> class ThreadingModel> -class FunctorImpl<R, Seq<P1, P2, P3, P4, P5, P6, P7, P8>, - ThreadingModel> + template <class, class> class ThreadingModel > +class FunctorImpl < R, Seq<P1, P2, P3, P4, P5, P6, P7, P8>, + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -307,11 +307,11 @@ public: // Specialization for 9 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, - template <class, class> class ThreadingModel> -class FunctorImpl<R, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9>, - ThreadingModel> + template <class, class> class ThreadingModel > +class FunctorImpl < R, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9>, + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -334,12 +334,12 @@ public: // Specialization for 10 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, - template <class, class> class ThreadingModel> -class FunctorImpl<R, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10>, - ThreadingModel> + template <class, class> class ThreadingModel > +class FunctorImpl < R, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10>, + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -363,13 +363,13 @@ public: // Specialization for 11 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, - template <class, class> class ThreadingModel> -class FunctorImpl<R, + template <class, class> class ThreadingModel > +class FunctorImpl < R, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11>, - ThreadingModel> + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -394,13 +394,13 @@ public: // Specialization for 12 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, - template <class, class> class ThreadingModel> -class FunctorImpl<R, + template <class, class> class ThreadingModel > +class FunctorImpl < R, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12>, - ThreadingModel> + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -426,13 +426,13 @@ public: // Specialization for 13 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, - template <class, class> class ThreadingModel> -class FunctorImpl<R, + template <class, class> class ThreadingModel > +class FunctorImpl < R, Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13>, - ThreadingModel> + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -459,14 +459,14 @@ public: // Specialization for 14 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14, - template <class, class> class ThreadingModel> -class FunctorImpl<R, - Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, - P14>, - ThreadingModel> + template <class, class> class ThreadingModel > +class FunctorImpl < R, + Seq < P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, + P14 > , + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -494,14 +494,14 @@ public: // Specialization for 15 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14, - typename P15, template <class, class> class ThreadingModel> -class FunctorImpl<R, - Seq<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, - P14, P15>, - ThreadingModel> + typename P15, template <class, class> class ThreadingModel > +class FunctorImpl < R, + Seq < P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, + P14, P15 > , + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -548,8 +548,8 @@ public: // Specialization for 2 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, - template <class, class> class ThreadingModel> +template < typename R, typename P1, typename P2, + template <class, class> class ThreadingModel > class FunctorImpl<R, LOKI_TYPELIST_2(P1, P2), ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -565,8 +565,8 @@ public: // Specialization for 3 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, - template <class, class> class ThreadingModel> +template < typename R, typename P1, typename P2, typename P3, + template <class, class> class ThreadingModel > class FunctorImpl<R, LOKI_TYPELIST_3(P1, P2, P3), ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -583,8 +583,8 @@ public: // Specialization for 4 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, - template <class, class> class ThreadingModel> +template < typename R, typename P1, typename P2, typename P3, typename P4, + template <class, class> class ThreadingModel > class FunctorImpl<R, LOKI_TYPELIST_4(P1, P2, P3, P4), ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -602,9 +602,9 @@ public: // Specialization for 5 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, - template <class, class> class ThreadingModel> + template <class, class> class ThreadingModel > class FunctorImpl<R, LOKI_TYPELIST_5(P1, P2, P3, P4, P5), ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -623,9 +623,9 @@ public: // Specialization for 6 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, - template <class, class> class ThreadingModel> + template <class, class> class ThreadingModel > class FunctorImpl<R, LOKI_TYPELIST_6(P1, P2, P3, P4, P5, P6), ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -645,9 +645,9 @@ public: // Specialization for 7 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, - template <class, class> class ThreadingModel> + template <class, class> class ThreadingModel > class FunctorImpl<R, LOKI_TYPELIST_7(P1, P2, P3, P4, P5, P6, P7), ThreadingModel> : public Private::FunctorImplBase<R, ThreadingModel> { @@ -669,11 +669,11 @@ public: // Specialization for 8 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, - template <class, class> class ThreadingModel> -class FunctorImpl<R, LOKI_TYPELIST_8(P1, P2, P3, P4, P5, P6, P7, P8), - ThreadingModel> + template <class, class> class ThreadingModel > +class FunctorImpl < R, LOKI_TYPELIST_8(P1, P2, P3, P4, P5, P6, P7, P8), + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -695,11 +695,11 @@ public: // Specialization for 9 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, - template <class, class> class ThreadingModel> -class FunctorImpl<R, LOKI_TYPELIST_9(P1, P2, P3, P4, P5, P6, P7, P8, P9), - ThreadingModel> + template <class, class> class ThreadingModel > +class FunctorImpl < R, LOKI_TYPELIST_9(P1, P2, P3, P4, P5, P6, P7, P8, P9), + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -722,12 +722,12 @@ public: // Specialization for 10 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, - template <class, class> class ThreadingModel> -class FunctorImpl<R, LOKI_TYPELIST_10(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10), - ThreadingModel> + template <class, class> class ThreadingModel > +class FunctorImpl < R, LOKI_TYPELIST_10(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10), + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -751,13 +751,13 @@ public: // Specialization for 11 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, - template <class, class> class ThreadingModel> -class FunctorImpl<R, + template <class, class> class ThreadingModel > +class FunctorImpl < R, LOKI_TYPELIST_11(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11), - ThreadingModel> + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -782,13 +782,13 @@ public: // Specialization for 12 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, - template <class, class> class ThreadingModel> -class FunctorImpl<R, + template <class, class> class ThreadingModel > +class FunctorImpl < R, LOKI_TYPELIST_12(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12), - ThreadingModel> + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -814,13 +814,13 @@ public: // Specialization for 13 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, - template <class, class> class ThreadingModel> -class FunctorImpl<R, + template <class, class> class ThreadingModel > +class FunctorImpl < R, LOKI_TYPELIST_13(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13), - ThreadingModel> + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -847,14 +847,14 @@ public: // Specialization for 14 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14, - template <class, class> class ThreadingModel> -class FunctorImpl<R, + template <class, class> class ThreadingModel > +class FunctorImpl < R, LOKI_TYPELIST_14(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14), - ThreadingModel> + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -882,14 +882,14 @@ public: // Specialization for 15 parameters //////////////////////////////////////////////////////////////////////////////// -template <typename R, typename P1, typename P2, typename P3, typename P4, +template < typename R, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14, - typename P15, template <class, class> class ThreadingModel> -class FunctorImpl<R, + typename P15, template <class, class> class ThreadingModel > +class FunctorImpl < R, LOKI_TYPELIST_15(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15), - ThreadingModel> + ThreadingModel > : public Private::FunctorImplBase<R, ThreadingModel> { public: @@ -957,13 +957,13 @@ public: { // there is no static information if Functor holds a member function // or a free function; this is the main difference to tr1::function - if(typeid(*this) != typeid(rhs)) + if (typeid(*this) != typeid(rhs)) return false; // cannot be equal const FunctorHandler& fh = static_cast<const FunctorHandler&>(rhs); // if this line gives a compiler error, you are using a function object. // you need to implement bool MyFnObj::operator == (const MyFnObj&) const; - return f_==fh.f_; + return f_ == fh.f_; } #endif // operator() implementations for up to 15 arguments @@ -1045,8 +1045,8 @@ private: // Wraps pointers to member functions //////////////////////////////////////////////////////////////////////////////// -template <class ParentFunctor, typename PointerToObj, - typename PointerToMemFn> +template < class ParentFunctor, typename PointerToObj, + typename PointerToMemFn > class MemFunHandler : public ParentFunctor::Impl { typedef typename ParentFunctor::Impl Base; @@ -1080,13 +1080,13 @@ public: bool operator==(const typename Base::FunctorImplBaseType& rhs) const { - if(typeid(*this) != typeid(rhs)) + if (typeid(*this) != typeid(rhs)) return false; // cannot be equal const MemFunHandler& mfh = static_cast<const MemFunHandler&>(rhs); // if this line gives a compiler error, you are using a function object. // you need to implement bool MyFnObj::operator == (const MyFnObj&) const; - return pObj_==mfh.pObj_ && pMemFn_==mfh.pMemFn_; + return pObj_ == mfh.pObj_ && pMemFn_ == mfh.pMemFn_; } #endif @@ -1215,8 +1215,8 @@ public: /// objects which have no operator== implemented, keep in mind when you enable /// operator==. //////////////////////////////////////////////////////////////////////////////// -template <typename R = void, class TList = NullType, - template<class, class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL> +template < typename R = void, class TList = NullType, + template<class, class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL > class Functor { public: @@ -1295,9 +1295,9 @@ public: bool operator==(const Functor& rhs) const { - if(spImpl_.get()==0 && rhs.spImpl_.get()==0) + if (spImpl_.get() == 0 && rhs.spImpl_.get() == 0) return true; - if(spImpl_.get()!=0 && rhs.spImpl_.get()!=0) + if (spImpl_.get() != 0 && rhs.spImpl_.get() != 0) return *spImpl_.get() == *rhs.spImpl_.get(); else return false; @@ -1305,7 +1305,7 @@ public: bool operator!=(const Functor& rhs) const { - return !(*this==rhs); + return !(*this == rhs); } #endif @@ -1445,7 +1445,7 @@ struct BinderFirstTraits< Functor<R, TList, ThreadingModel> > { typedef Functor<R, TList, ThreadingModel> OriginalFunctor; - typedef typename TL::Erase<TList,typename TL::TypeAt<TList, 0>::Result> + typedef typename TL::Erase<TList, typename TL::TypeAt<TList, 0>::Result> ::Result ParmList; @@ -1493,9 +1493,9 @@ class BinderFirst typedef typename OriginalFunctor::Parm1 BoundType; - typedef typename Private::BinderFirstBoundTypeStorage< + typedef typename Private::BinderFirstBoundTypeStorage < typename Private::BinderFirstTraits<OriginalFunctor> - ::OriginalParm1> + ::OriginalParm1 > ::RefOrValue BoundTypeStorage; @@ -1527,7 +1527,7 @@ public: bool operator==(const typename Base::FunctorImplBaseType& rhs) const { - if(typeid(*this) != typeid(rhs)) + if (typeid(*this) != typeid(rhs)) return false; // cannot be equal // if this line gives a compiler error, you are using a function object. // you need to implement bool MyFnObj::operator == (const MyFnObj&) const; @@ -1659,7 +1659,7 @@ public: bool operator==(const typename Base::Impl::FunctorImplBaseType& rhs) const { - if(typeid(*this) != typeid(rhs)) + if (typeid(*this) != typeid(rhs)) return false; // cannot be equal // if this line gives a compiler error, you are using a function object. // you need to implement bool MyFnObj::operator == (const MyFnObj&) const; diff --git a/shared/loki/HierarchyGenerators.h b/shared/loki/HierarchyGenerators.h index 83ec194c..126e0f3e 100644 --- a/shared/loki/HierarchyGenerators.h +++ b/shared/loki/HierarchyGenerators.h @@ -164,14 +164,14 @@ struct FieldHelper<H, 0> typedef const typename H::LeftBase ConstLeftBase; - typedef typename Select<isConst, ConstLeftBase, - typename H::LeftBase>::Result LeftBase; + typedef typename Select < isConst, ConstLeftBase, + typename H::LeftBase >::Result LeftBase; - typedef typename Select<isTuple, ElementType, - UnitType>::Result UnqualifiedResultType; + typedef typename Select < isTuple, ElementType, + UnitType >::Result UnqualifiedResultType; - typedef typename Select<isConst, const UnqualifiedResultType, - UnqualifiedResultType>::Result ResultType; + typedef typename Select < isConst, const UnqualifiedResultType, + UnqualifiedResultType >::Result ResultType; static ResultType& Do(H& obj) { @@ -194,19 +194,19 @@ struct FieldHelper typedef const typename H::RightBase ConstRightBase; - typedef typename Select<isConst, ConstRightBase, - typename H::RightBase>::Result RightBase; + typedef typename Select < isConst, ConstRightBase, + typename H::RightBase >::Result RightBase; - typedef typename Select<isTuple, ElementType, - UnitType>::Result UnqualifiedResultType; + typedef typename Select < isTuple, ElementType, + UnitType >::Result UnqualifiedResultType; - typedef typename Select<isConst, const UnqualifiedResultType, - UnqualifiedResultType>::Result ResultType; + typedef typename Select < isConst, const UnqualifiedResultType, + UnqualifiedResultType >::Result ResultType; static ResultType& Do(H& obj) { RightBase& rightBase = obj; - return FieldHelper<RightBase, i - 1>::Do(rightBase); + return FieldHelper < RightBase, i - 1 >::Do(rightBase); } }; diff --git a/shared/loki/Key.h b/shared/loki/Key.h index c80d6f4e..a416d6a9 100644 --- a/shared/loki/Key.h +++ b/shared/loki/Key.h @@ -28,7 +28,7 @@ namespace Loki { -template< +template < class Factory, typename IdentifierType > @@ -44,7 +44,7 @@ bool operator<(const Key<F, I> &k1, const Key<F, I> &k2); /** * A Key class */ -template< +template < class Factory, typename IdentifierType > @@ -200,7 +200,7 @@ public: Key(const IdentifierType& id, Parm1& p1, Parm2& p2, Parm3& p3, Parm4& p4, Parm5& p5, - Parm6& p6, Parm7& p7, Parm8& p8, Parm9& p9,Parm10& p10) : count(10) + Parm6& p6, Parm7& p7, Parm8& p8, Parm9& p9, Parm10& p10) : count(10) { this->id = id; this->p1 = p1; @@ -331,209 +331,209 @@ public: template<class F, typename I> bool operator==(const Key<F, I> &k1, const Key<F, I> &k2) { - if( k1.count != k2.count ) + if ( k1.count != k2.count ) return false; - switch(k1.count) + switch (k1.count) { case -1: return true; case 0: - if( k1.id == k2.id ) + if ( k1.id == k2.id ) return true; else return false; case 1: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) ) return true; else return false; case 2: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) ) return true; else return false; case 3: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) ) return true; else return false; case 4: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) ) return true; else return false; case 5: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) ) return true; else return false; case 6: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) && - (k1.p6 == k2.p6) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) && + (k1.p6 == k2.p6) ) return true; else return false; case 7: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) && - (k1.p6 == k2.p6) && - (k1.p7 == k2.p7) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) && + (k1.p6 == k2.p6) && + (k1.p7 == k2.p7) ) return true; else return false; case 8: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) && - (k1.p6 == k2.p6) && - (k1.p7 == k2.p7) && - (k1.p8 == k2.p8) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) && + (k1.p6 == k2.p6) && + (k1.p7 == k2.p7) && + (k1.p8 == k2.p8) ) return true; else return false; case 9: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) && - (k1.p6 == k2.p6) && - (k1.p7 == k2.p7) && - (k1.p8 == k2.p8) && - (k1.p9 == k2.p9) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) && + (k1.p6 == k2.p6) && + (k1.p7 == k2.p7) && + (k1.p8 == k2.p8) && + (k1.p9 == k2.p9) ) return true; else return false; case 10: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) && - (k1.p6 == k2.p6) && - (k1.p7 == k2.p7) && - (k1.p8 == k2.p8) && - (k1.p9 == k2.p9) && - (k1.p10 == k2.p10) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) && + (k1.p6 == k2.p6) && + (k1.p7 == k2.p7) && + (k1.p8 == k2.p8) && + (k1.p9 == k2.p9) && + (k1.p10 == k2.p10) ) return true; else return false; case 11: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) && - (k1.p6 == k2.p6) && - (k1.p7 == k2.p7) && - (k1.p8 == k2.p8) && - (k1.p9 == k2.p9) && - (k1.p10 == k2.p10) && - (k1.p11 == k2.p11) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) && + (k1.p6 == k2.p6) && + (k1.p7 == k2.p7) && + (k1.p8 == k2.p8) && + (k1.p9 == k2.p9) && + (k1.p10 == k2.p10) && + (k1.p11 == k2.p11) ) return true; else return false; case 12: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) && - (k1.p6 == k2.p6) && - (k1.p7 == k2.p7) && - (k1.p8 == k2.p8) && - (k1.p9 == k2.p9) && - (k1.p10 == k2.p10) && - (k1.p11 == k2.p11) && - (k1.p12 == k2.p12) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) && + (k1.p6 == k2.p6) && + (k1.p7 == k2.p7) && + (k1.p8 == k2.p8) && + (k1.p9 == k2.p9) && + (k1.p10 == k2.p10) && + (k1.p11 == k2.p11) && + (k1.p12 == k2.p12) ) return true; else return false; case 13: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) && - (k1.p6 == k2.p6) && - (k1.p7 == k2.p7) && - (k1.p8 == k2.p8) && - (k1.p9 == k2.p9) && - (k1.p10 == k2.p10) && - (k1.p11 == k2.p11) && - (k1.p12 == k2.p12) && - (k1.p13 == k2.p13) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) && + (k1.p6 == k2.p6) && + (k1.p7 == k2.p7) && + (k1.p8 == k2.p8) && + (k1.p9 == k2.p9) && + (k1.p10 == k2.p10) && + (k1.p11 == k2.p11) && + (k1.p12 == k2.p12) && + (k1.p13 == k2.p13) ) return true; else return false; case 14: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) && - (k1.p6 == k2.p6) && - (k1.p7 == k2.p7) && - (k1.p8 == k2.p8) && - (k1.p9 == k2.p9) && - (k1.p10 == k2.p10) && - (k1.p11 == k2.p11) && - (k1.p12 == k2.p12) && - (k1.p13 == k2.p13) && - (k1.p14 == k2.p14) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) && + (k1.p6 == k2.p6) && + (k1.p7 == k2.p7) && + (k1.p8 == k2.p8) && + (k1.p9 == k2.p9) && + (k1.p10 == k2.p10) && + (k1.p11 == k2.p11) && + (k1.p12 == k2.p12) && + (k1.p13 == k2.p13) && + (k1.p14 == k2.p14) ) return true; else return false; case 15: - if( (k1.id == k2.id) && - (k1.p1 == k2.p1) && - (k1.p2 == k2.p2) && - (k1.p3 == k2.p3) && - (k1.p4 == k2.p4) && - (k1.p5 == k2.p5) && - (k1.p6 == k2.p6) && - (k1.p7 == k2.p7) && - (k1.p8 == k2.p8) && - (k1.p9 == k2.p9) && - (k1.p10 == k2.p10) && - (k1.p11 == k2.p11) && - (k1.p12 == k2.p12) && - (k1.p13 == k2.p13) && - (k1.p14 == k2.p14) && - (k1.p15 == k2.p15) ) + if ( (k1.id == k2.id) && + (k1.p1 == k2.p1) && + (k1.p2 == k2.p2) && + (k1.p3 == k2.p3) && + (k1.p4 == k2.p4) && + (k1.p5 == k2.p5) && + (k1.p6 == k2.p6) && + (k1.p7 == k2.p7) && + (k1.p8 == k2.p8) && + (k1.p9 == k2.p9) && + (k1.p10 == k2.p10) && + (k1.p11 == k2.p11) && + (k1.p12 == k2.p12) && + (k1.p13 == k2.p13) && + (k1.p14 == k2.p14) && + (k1.p15 == k2.p15) ) return true; else return false; @@ -547,209 +547,209 @@ bool operator==(const Key<F, I> &k1, const Key<F, I> &k2) template<class F, typename I> bool operator<(const Key<F, I> &k1, const Key<F, I> &k2) { - if( k1.count < k2.count ) + if ( k1.count < k2.count ) return true; - switch(k1.count) + switch (k1.count) { case -1: return false; case 0: - if( k1.id < k2.id ) + if ( k1.id < k2.id ) return true; else return false; case 1: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) ) return true; else return false; case 2: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) ) return true; else return false; case 3: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) ) return true; else return false; case 4: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) ) return true; else return false; case 5: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) ) return true; else return false; case 6: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) || - (k1.p6 < k2.p6) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) || + (k1.p6 < k2.p6) ) return true; else return false; case 7: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) || - (k1.p6 < k2.p6) || - (k1.p7 < k2.p7) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) || + (k1.p6 < k2.p6) || + (k1.p7 < k2.p7) ) return true; else return false; case 8: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) || - (k1.p6 < k2.p6) || - (k1.p7 < k2.p7) || - (k1.p8 < k2.p8) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) || + (k1.p6 < k2.p6) || + (k1.p7 < k2.p7) || + (k1.p8 < k2.p8) ) return true; else return false; case 9: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) || - (k1.p6 < k2.p6) || - (k1.p7 < k2.p7) || - (k1.p8 < k2.p8) || - (k1.p9 < k2.p9) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) || + (k1.p6 < k2.p6) || + (k1.p7 < k2.p7) || + (k1.p8 < k2.p8) || + (k1.p9 < k2.p9) ) return true; else return false; case 10: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) || - (k1.p6 < k2.p6) || - (k1.p7 < k2.p7) || - (k1.p8 < k2.p8) || - (k1.p9 < k2.p9) || - (k1.p10 < k2.p10) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) || + (k1.p6 < k2.p6) || + (k1.p7 < k2.p7) || + (k1.p8 < k2.p8) || + (k1.p9 < k2.p9) || + (k1.p10 < k2.p10) ) return true; else return false; case 11: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) || - (k1.p6 < k2.p6) || - (k1.p7 < k2.p7) || - (k1.p8 < k2.p8) || - (k1.p9 < k2.p9) || - (k1.p10 < k2.p10) || - (k1.p11 < k2.p11) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) || + (k1.p6 < k2.p6) || + (k1.p7 < k2.p7) || + (k1.p8 < k2.p8) || + (k1.p9 < k2.p9) || + (k1.p10 < k2.p10) || + (k1.p11 < k2.p11) ) return true; else return false; case 12: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) || - (k1.p6 < k2.p6) || - (k1.p7 < k2.p7) || - (k1.p8 < k2.p8) || - (k1.p9 < k2.p9) || - (k1.p10 < k2.p10) || - (k1.p11 < k2.p11) || - (k1.p12 < k2.p12) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) || + (k1.p6 < k2.p6) || + (k1.p7 < k2.p7) || + (k1.p8 < k2.p8) || + (k1.p9 < k2.p9) || + (k1.p10 < k2.p10) || + (k1.p11 < k2.p11) || + (k1.p12 < k2.p12) ) return true; else return false; case 13: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) || - (k1.p6 < k2.p6) || - (k1.p7 < k2.p7) || - (k1.p8 < k2.p8) || - (k1.p9 < k2.p9) || - (k1.p10 < k2.p10) || - (k1.p11 < k2.p11) || - (k1.p12 < k2.p12) || - (k1.p13 < k2.p13) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) || + (k1.p6 < k2.p6) || + (k1.p7 < k2.p7) || + (k1.p8 < k2.p8) || + (k1.p9 < k2.p9) || + (k1.p10 < k2.p10) || + (k1.p11 < k2.p11) || + (k1.p12 < k2.p12) || + (k1.p13 < k2.p13) ) return true; else return false; case 14: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) || - (k1.p6 < k2.p6) || - (k1.p7 < k2.p7) || - (k1.p8 < k2.p8) || - (k1.p9 < k2.p9) || - (k1.p10 < k2.p10) || - (k1.p11 < k2.p11) || - (k1.p12 < k2.p12) || - (k1.p13 < k2.p13) || - (k1.p14 < k2.p14) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) || + (k1.p6 < k2.p6) || + (k1.p7 < k2.p7) || + (k1.p8 < k2.p8) || + (k1.p9 < k2.p9) || + (k1.p10 < k2.p10) || + (k1.p11 < k2.p11) || + (k1.p12 < k2.p12) || + (k1.p13 < k2.p13) || + (k1.p14 < k2.p14) ) return true; else return false; case 15: - if( (k1.id < k2.id) || - (k1.p1 < k2.p1) || - (k1.p2 < k2.p2) || - (k1.p3 < k2.p3) || - (k1.p4 < k2.p4) || - (k1.p5 < k2.p5) || - (k1.p6 < k2.p6) || - (k1.p7 < k2.p7) || - (k1.p8 < k2.p8) || - (k1.p9 < k2.p9) || - (k1.p10 < k2.p10) || - (k1.p11 < k2.p11) || - (k1.p12 < k2.p12) || - (k1.p13 < k2.p13) || - (k1.p14 < k2.p14) || - (k1.p15 < k2.p15) ) + if ( (k1.id < k2.id) || + (k1.p1 < k2.p1) || + (k1.p2 < k2.p2) || + (k1.p3 < k2.p3) || + (k1.p4 < k2.p4) || + (k1.p5 < k2.p5) || + (k1.p6 < k2.p6) || + (k1.p7 < k2.p7) || + (k1.p8 < k2.p8) || + (k1.p9 < k2.p9) || + (k1.p10 < k2.p10) || + (k1.p11 < k2.p11) || + (k1.p12 < k2.p12) || + (k1.p13 < k2.p13) || + (k1.p14 < k2.p14) || + (k1.p15 < k2.p15) ) return true; else return false; diff --git a/shared/loki/MultiMethods.h b/shared/loki/MultiMethods.h index ece4fb17..ec5b7788 100644 --- a/shared/loki/MultiMethods.h +++ b/shared/loki/MultiMethods.h @@ -38,8 +38,8 @@ namespace Loki namespace Private { -template <class SomeLhs, class SomeRhs, - class Executor, typename ResultType> +template < class SomeLhs, class SomeRhs, + class Executor, typename ResultType > struct InvocationTraits { static ResultType @@ -85,12 +85,12 @@ class StaticDispatcher { if (Head* p2 = dynamic_cast<Head*>(&rhs)) { - Int2Type<(symmetric && - int(TL::IndexOf<TypesRhs, Head>::value) < - int(TL::IndexOf<TypesLhs, SomeLhs>::value))> i2t; + Int2Type < (symmetric && + int(TL::IndexOf<TypesRhs, Head>::value) < + int(TL::IndexOf<TypesLhs, SomeLhs>::value)) > i2t; - typedef Private::InvocationTraits< - SomeLhs, Head, Executor, ResultType> CallTraits; + typedef Private::InvocationTraits < + SomeLhs, Head, Executor, ResultType > CallTraits; return CallTraits::DoDispatch(lhs, *p2, exec, i2t); } @@ -133,7 +133,7 @@ class BaseLhs, > class BasicDispatcher { - typedef std::pair<TypeInfo,TypeInfo> KeyType; + typedef std::pair<TypeInfo, TypeInfo> KeyType; typedef CallbackType MappedType; typedef AssocVector<KeyType, MappedType> MapType; MapType callbackMap_; @@ -158,28 +158,28 @@ public: }; // Non-inline to reduce compile time overhead... -template <class BaseLhs, class BaseRhs, - typename ResultType, typename CallbackType> -void BasicDispatcher<BaseLhs,BaseRhs,ResultType,CallbackType> +template < class BaseLhs, class BaseRhs, + typename ResultType, typename CallbackType > +void BasicDispatcher<BaseLhs, BaseRhs, ResultType, CallbackType> ::DoAdd(TypeInfo lhs, TypeInfo rhs, CallbackType fun) { callbackMap_[KeyType(lhs, rhs)] = fun; } -template <class BaseLhs, class BaseRhs, - typename ResultType, typename CallbackType> -bool BasicDispatcher<BaseLhs,BaseRhs,ResultType,CallbackType> +template < class BaseLhs, class BaseRhs, + typename ResultType, typename CallbackType > +bool BasicDispatcher<BaseLhs, BaseRhs, ResultType, CallbackType> ::DoRemove(TypeInfo lhs, TypeInfo rhs) { return callbackMap_.erase(KeyType(lhs, rhs)) == 1; } -template <class BaseLhs, class BaseRhs, - typename ResultType, typename CallbackType> -ResultType BasicDispatcher<BaseLhs,BaseRhs,ResultType,CallbackType> +template < class BaseLhs, class BaseRhs, + typename ResultType, typename CallbackType > +ResultType BasicDispatcher<BaseLhs, BaseRhs, ResultType, CallbackType> ::Go(BaseLhs& lhs, BaseRhs& rhs) { - typename MapType::key_type k(typeid(lhs),typeid(rhs)); + typename MapType::key_type k(typeid(lhs), typeid(rhs)); typename MapType::iterator i = callbackMap_.find(k); if (i == callbackMap_.end()) { @@ -223,11 +223,11 @@ struct DynamicCaster namespace Private { -template <class BaseLhs, class BaseRhs, +template < class BaseLhs, class BaseRhs, class SomeLhs, class SomeRhs, typename ResultType, class CastLhs, class CastRhs, - ResultType (*Callback)(SomeLhs&, SomeRhs&)> + ResultType (*Callback)(SomeLhs&, SomeRhs&) > struct FnDispatcherHelper { static ResultType Trampoline(BaseLhs& lhs, BaseRhs& rhs) @@ -247,15 +247,15 @@ struct FnDispatcherHelper // Features automated conversions //////////////////////////////////////////////////////////////////////////////// -template <class BaseLhs, class BaseRhs = BaseLhs, +template < class BaseLhs, class BaseRhs = BaseLhs, typename ResultType = void, template <class, class> class CastingPolicy = DynamicCaster, template <class, class, class, class> - class DispatcherBackend = BasicDispatcher> + class DispatcherBackend = BasicDispatcher > class FnDispatcher { - DispatcherBackend<BaseLhs, BaseRhs, ResultType, - ResultType (*)(BaseLhs&, BaseRhs&)> backEnd_; + DispatcherBackend < BaseLhs, BaseRhs, ResultType, + ResultType (*)(BaseLhs&, BaseRhs&) > backEnd_; public: template <class SomeLhs, class SomeRhs> @@ -264,33 +264,33 @@ public: return backEnd_.template Add<SomeLhs, SomeRhs>(pFun); } - template <class SomeLhs, class SomeRhs, - ResultType (*callback)(SomeLhs&, SomeRhs&)> + template < class SomeLhs, class SomeRhs, + ResultType (*callback)(SomeLhs&, SomeRhs&) > void Add() { - typedef Private::FnDispatcherHelper< + typedef Private::FnDispatcherHelper < BaseLhs, BaseRhs, SomeLhs, SomeRhs, ResultType, - CastingPolicy<SomeLhs,BaseLhs>, - CastingPolicy<SomeRhs,BaseRhs>, - callback> Local; + CastingPolicy<SomeLhs, BaseLhs>, + CastingPolicy<SomeRhs, BaseRhs>, + callback > Local; Add<SomeLhs, SomeRhs>(&Local::Trampoline); } - template <class SomeLhs, class SomeRhs, + template < class SomeLhs, class SomeRhs, ResultType (*callback)(SomeLhs&, SomeRhs&), - bool symmetric> + bool symmetric > void Add(bool = true) // [gcc] dummy bool { - typedef Private::FnDispatcherHelper< + typedef Private::FnDispatcherHelper < BaseLhs, BaseRhs, SomeLhs, SomeRhs, ResultType, - CastingPolicy<SomeLhs,BaseLhs>, - CastingPolicy<SomeRhs,BaseRhs>, - callback> Local; + CastingPolicy<SomeLhs, BaseLhs>, + CastingPolicy<SomeRhs, BaseRhs>, + callback > Local; Add<SomeLhs, SomeRhs>(&Local::Trampoline); if (symmetric) @@ -318,19 +318,19 @@ public: namespace Private { -template <class BaseLhs, class BaseRhs, +template < class BaseLhs, class BaseRhs, class SomeLhs, class SomeRhs, typename ResultType, class CastLhs, class CastRhs, - class Fun, bool SwapArgs> + class Fun, bool SwapArgs > class FunctorDispatcherHelper { Fun fun_; - ResultType Fire(BaseLhs& lhs, BaseRhs& rhs,Int2Type<false>) + ResultType Fire(BaseLhs& lhs, BaseRhs& rhs, Int2Type<false>) { return fun_(CastLhs::Cast(lhs), CastRhs::Cast(rhs)); } - ResultType Fire(BaseLhs& rhs, BaseRhs& lhs,Int2Type<true>) + ResultType Fire(BaseLhs& rhs, BaseRhs& lhs, Int2Type<true>) { return fun_(CastLhs::Cast(lhs), CastRhs::Cast(rhs)); } @@ -339,7 +339,7 @@ public: ResultType operator()(BaseLhs& lhs, BaseRhs& rhs) { - return Fire(lhs,rhs,Int2Type<SwapArgs>()); + return Fire(lhs, rhs, Int2Type<SwapArgs>()); } }; } @@ -350,11 +350,11 @@ public: // Features automated casting //////////////////////////////////////////////////////////////////////////////// -template <class BaseLhs, class BaseRhs = BaseLhs, +template < class BaseLhs, class BaseRhs = BaseLhs, typename ResultType = void, template <class, class> class CastingPolicy = DynamicCaster, template <class, class, class, class> - class DispatcherBackend = BasicDispatcher> + class DispatcherBackend = BasicDispatcher > class FunctorDispatcher { typedef LOKI_TYPELIST_2(BaseLhs&, BaseRhs&) ArgsList; @@ -366,31 +366,31 @@ public: template <class SomeLhs, class SomeRhs, class Fun> void Add(const Fun& fun) { - typedef Private::FunctorDispatcherHelper< + typedef Private::FunctorDispatcherHelper < BaseLhs, BaseRhs, SomeLhs, SomeRhs, ResultType, CastingPolicy<SomeLhs, BaseLhs>, CastingPolicy<SomeRhs, BaseRhs>, - Fun, false> Adapter; + Fun, false > Adapter; backEnd_.template Add<SomeLhs, SomeRhs>(FunctorType(Adapter(fun))); } template <class SomeLhs, class SomeRhs, bool symmetric, class Fun> void Add(const Fun& fun) { - Add<SomeLhs,SomeRhs>(fun); + Add<SomeLhs, SomeRhs>(fun); if (symmetric) { // Note: symmetry only makes sense where BaseLhs==BaseRhs - typedef Private::FunctorDispatcherHelper< + typedef Private::FunctorDispatcherHelper < BaseLhs, BaseLhs, SomeLhs, SomeRhs, ResultType, CastingPolicy<SomeLhs, BaseLhs>, CastingPolicy<SomeRhs, BaseLhs>, - Fun, true> AdapterR; + Fun, true > AdapterR; backEnd_.template Add<SomeRhs, SomeLhs>(FunctorType(AdapterR(fun))); } diff --git a/shared/loki/OrderedStatic.h b/shared/loki/OrderedStatic.h index 0f26b6e0..f0ff73c3 100644 --- a/shared/loki/OrderedStatic.h +++ b/shared/loki/OrderedStatic.h @@ -76,8 +76,8 @@ protected: void SetLongevity(T* ptr) { - val_=ptr; - Loki::SetLongevity(val_,longevity_); + val_ = ptr; + Loki::SetLongevity(val_, longevity_); } private: @@ -102,7 +102,7 @@ public: typedef void (OrderedStaticCreatorFunc::*Creator)(); void createObjects(); - void registerObject(unsigned int longevity,OrderedStaticCreatorFunc*,Creator); + void registerObject(unsigned int longevity, OrderedStaticCreatorFunc*, Creator); private: OrderedStaticManagerClass(const OrderedStaticManagerClass&); @@ -110,7 +110,7 @@ private: struct Data { - Data(unsigned int,OrderedStaticCreatorFunc*, Creator); + Data(unsigned int, OrderedStaticCreatorFunc*, Creator); unsigned int longevity; OrderedStaticCreatorFunc* object; Creator creator; @@ -158,7 +158,7 @@ public: OrderedStatic() : Private::OrderedStaticBase<T>(L) { OrderedStaticManager::Instance().registerObject - (L,this,&Private::OrderedStaticCreatorFunc::createObject); + (L, this, &Private::OrderedStaticCreatorFunc::createObject); } void createObject() @@ -178,7 +178,7 @@ public: OrderedStatic(P1 p) : Private::OrderedStaticBase<T>(L), para_(p) { OrderedStaticManager::Instance().registerObject - (L,this,&Private::OrderedStaticCreatorFunc::createObject); + (L, this, &Private::OrderedStaticCreatorFunc::createObject); } void createObject() @@ -203,7 +203,7 @@ public: OrderedStatic(Func p) : Private::OrderedStaticBase<T>(L), para_(p) { OrderedStaticManager::Instance().registerObject - (L,this,&Private::OrderedStaticCreatorFunc::createObject); + (L, this, &Private::OrderedStaticCreatorFunc::createObject); } void createObject() diff --git a/shared/loki/Pimpl.h b/shared/loki/Pimpl.h index 788f76d8..8254e3e2 100644 --- a/shared/loki/Pimpl.h +++ b/shared/loki/Pimpl.h @@ -101,7 +101,7 @@ public: T& operator*() { - return ptr_.operator*(); + return ptr_.operator * (); } const T* operator->() const @@ -111,7 +111,7 @@ public: const T& operator*() const { - return ptr_.operator*(); + return ptr_.operator * (); } Pointer& wrapped() @@ -136,7 +136,7 @@ private: template<class T, typename Pointer = ConstPropPtr<T> > struct PimplOwner { - Pimpl<T,Pointer> LOKI_INHERITED_PIMPL_NAME; + Pimpl<T, Pointer> LOKI_INHERITED_PIMPL_NAME; }; diff --git a/shared/loki/Register.h b/shared/loki/Register.h index 32409f4b..2b549381 100644 --- a/shared/loki/Register.h +++ b/shared/loki/Register.h @@ -113,18 +113,18 @@ struct UnRegisterOnDeleteSet #define LOKI_CONCAT(a,b,c,d) LOKI_CONCATE(a,b,c,d) #define LOKI_CHECK_CLASS_IN_LIST( CLASS , LIST ) \ - \ + \ struct LOKI_CONCAT(check_,CLASS,_isInList_,LIST) \ { \ typedef int LOKI_CONCAT(ERROR_class_,CLASS,_isNotInList_,LIST); \ }; \ typedef Loki::Select<Loki::TL::IndexOf<LIST, CLASS>::value == -1, \ - CLASS, \ - LOKI_CONCAT(check_,CLASS,_isInList_,LIST)> \ - ::Result LOKI_CONCAT(CLASS,isInList,LIST,result); \ + CLASS, \ + LOKI_CONCAT(check_,CLASS,_isInList_,LIST)> \ + ::Result LOKI_CONCAT(CLASS,isInList,LIST,result); \ typedef LOKI_CONCAT(CLASS,isInList,LIST,result):: \ - LOKI_CONCAT(ERROR_class_,CLASS,_isNotInList_,LIST) \ - LOKI_CONCAT(ERROR_class_,CLASS,_isNotInList__,LIST); + LOKI_CONCAT(ERROR_class_,CLASS,_isNotInList_,LIST) \ + LOKI_CONCAT(ERROR_class_,CLASS,_isNotInList__,LIST); } // namespace Loki diff --git a/shared/loki/SPCachedFactory.h b/shared/loki/SPCachedFactory.h index aab37127..e1b8ec8c 100644 --- a/shared/loki/SPCachedFactory.h +++ b/shared/loki/SPCachedFactory.h @@ -165,7 +165,7 @@ class AbstractProduct, class SmartPointer { private: - typedef SmartPtr< AbstractProduct,OwnershipPolicy, + typedef SmartPtr < AbstractProduct, OwnershipPolicy, ConversionPolicy, CheckingPolicy, FunctionStorage, ConstnessPolicy > CallBackSP; protected: @@ -195,7 +195,7 @@ private: CallBackSP& SP(*reinterpret_cast<CallBackSP*>(pSP)); ReleaseObject(SP); } - virtual void ReleaseObject(ProductReturn& object)=0; + virtual void ReleaseObject(ProductReturn& object) = 0; const typename CallBackSP::FunctorType fun; }; diff --git a/shared/loki/SafeBits.h b/shared/loki/SafeBits.h index 4105f375..9e160c50 100644 --- a/shared/loki/SafeBits.h +++ b/shared/loki/SafeBits.h @@ -482,10 +482,10 @@ inline SafeBitField< unique_index, word_t > operator != ( bool, SafeBitField< un #ifdef LOKI_SAFE_BIT_FIELD #ifndef LOKI_BIT_FIELD_NONTEMPLATE_INIT #define LOKI_BIT_CONST( field_t, label, bit_index ) \ - static const field_t::const_t label = field_t::const_t::make_bit_const<bit_index>() + static const field_t::const_t label = field_t::const_t::make_bit_const<bit_index>() #else #define LOKI_BIT_CONST( field_t, label, bit_index ) \ - static const field_t::const_t label = field_t::const_t::make_bit_const( bit_index ) + static const field_t::const_t label = field_t::const_t::make_bit_const( bit_index ) #endif // LOKI_BIT_FIELD_NONTEMPLATE_INIT #else inline size_t make_bit_const( size_t i ) { return ( i > 0 ) ? ( size_t(1) << ( ( i > 0 ) ? ( i - 1 ) : 0 ) ) : 0; } diff --git a/shared/loki/SafeFormat.h b/shared/loki/SafeFormat.h index 2734e972..bd2837f9 100644 --- a/shared/loki/SafeFormat.h +++ b/shared/loki/SafeFormat.h @@ -73,7 +73,7 @@ template <class Char> void write(std::pair<Char*, std::size_t>& s, const Char* from, const Char* to) { assert(from <= to); - if(from + s.second < to) + if (from + s.second < to) throw std::overflow_error(""); // s.first: position one past the final copied element s.first = std::copy(from, to, s.first); @@ -106,9 +106,9 @@ struct PrintfState } #define LOKI_PRINTF_STATE_FORWARD(type) \ - PrintfState& operator()(type par) {\ - return (*this)(static_cast< LOKI_SAFEFORMAT_UNSIGNED_LONG >(par)); \ - } + PrintfState& operator()(type par) {\ + return (*this)(static_cast< LOKI_SAFEFORMAT_UNSIGNED_LONG >(par)); \ + } LOKI_PRINTF_STATE_FORWARD(bool) LOKI_PRINTF_STATE_FORWARD(char) @@ -171,21 +171,21 @@ struct PrintfState PrintfState& operator()(void* n) { if (result_ == -1) return *this; // don't even bother - PrintUsing_snprintf(n,"p"); + PrintUsing_snprintf(n, "p"); return *this; } PrintfState& operator()(double n) { if (result_ == -1) return *this; // don't even bother - PrintUsing_snprintf(n,"eEfgG"); + PrintUsing_snprintf(n, "eEfgG"); return *this; } PrintfState& operator()(long double n) { if (result_ == -1) return *this; // don't even bother - PrintUsing_snprintf(n,"eEfgG"); + PrintUsing_snprintf(n, "eEfgG"); return *this; } diff --git a/shared/loki/ScopeGuard.h b/shared/loki/ScopeGuard.h index 46e4d892..99ce569d 100644 --- a/shared/loki/ScopeGuard.h +++ b/shared/loki/ScopeGuard.h @@ -65,7 +65,7 @@ protected: { j.Execute(); } - catch(...) + catch (...) {} } @@ -440,15 +440,15 @@ inline ObjScopeGuardImpl0<Obj, MemFun> MakeObjGuard(Obj& obj, MemFun memFun) } template <typename Ret, class Obj1, class Obj2> -inline ObjScopeGuardImpl0<Obj1,Ret(Obj2::*)()> MakeGuard(Ret(Obj2::*memFun)(), Obj1& obj) +inline ObjScopeGuardImpl0<Obj1, Ret(Obj2::*)()> MakeGuard(Ret(Obj2::*memFun)(), Obj1& obj) { - return ObjScopeGuardImpl0<Obj1,Ret(Obj2::*)()>::MakeObjGuard(obj,memFun); + return ObjScopeGuardImpl0<Obj1, Ret(Obj2::*)()>::MakeObjGuard(obj, memFun); } template <typename Ret, class Obj1, class Obj2> -inline ObjScopeGuardImpl0<Obj1,Ret(Obj2::*)()> MakeGuard(Ret(Obj2::*memFun)(), Obj1* obj) +inline ObjScopeGuardImpl0<Obj1, Ret(Obj2::*)()> MakeGuard(Ret(Obj2::*memFun)(), Obj1* obj) { - return ObjScopeGuardImpl0<Obj1,Ret(Obj2::*)()>::MakeObjGuard(*obj,memFun); + return ObjScopeGuardImpl0<Obj1, Ret(Obj2::*)()>::MakeObjGuard(*obj, memFun); } //////////////////////////////////////////////////////////////// @@ -503,15 +503,15 @@ inline ObjScopeGuardImpl1<Obj, MemFun, P1> MakeObjGuard(Obj& obj, MemFun memFun, } template <typename Ret, class Obj1, class Obj2, typename P1a, typename P1b> -inline ObjScopeGuardImpl1<Obj1,Ret(Obj2::*)(P1a),P1b> MakeGuard(Ret(Obj2::*memFun)(P1a), Obj1& obj, P1b p1) +inline ObjScopeGuardImpl1<Obj1, Ret(Obj2::*)(P1a), P1b> MakeGuard(Ret(Obj2::*memFun)(P1a), Obj1& obj, P1b p1) { - return ObjScopeGuardImpl1<Obj1,Ret(Obj2::*)(P1a),P1b>::MakeObjGuard(obj,memFun,p1); + return ObjScopeGuardImpl1<Obj1, Ret(Obj2::*)(P1a), P1b>::MakeObjGuard(obj, memFun, p1); } template <typename Ret, class Obj1, class Obj2, typename P1a, typename P1b> -inline ObjScopeGuardImpl1<Obj1,Ret(Obj2::*)(P1a),P1b> MakeGuard(Ret(Obj2::*memFun)(P1a), Obj1* obj, P1b p1) +inline ObjScopeGuardImpl1<Obj1, Ret(Obj2::*)(P1a), P1b> MakeGuard(Ret(Obj2::*memFun)(P1a), Obj1* obj, P1b p1) { - return ObjScopeGuardImpl1<Obj1,Ret(Obj2::*)(P1a),P1b>::MakeObjGuard(*obj,memFun,p1); + return ObjScopeGuardImpl1<Obj1, Ret(Obj2::*)(P1a), P1b>::MakeObjGuard(*obj, memFun, p1); } //////////////////////////////////////////////////////////////// @@ -567,15 +567,15 @@ inline ObjScopeGuardImpl2<Obj, MemFun, P1, P2> MakeObjGuard(Obj& obj, MemFun mem } template <typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b> -inline ObjScopeGuardImpl2<Obj1,Ret(Obj2::*)(P1a,P2a),P1b,P2b> MakeGuard(Ret(Obj2::*memFun)(P1a,P2a), Obj1& obj, P1b p1, P2b p2) +inline ObjScopeGuardImpl2<Obj1, Ret(Obj2::*)(P1a, P2a), P1b, P2b> MakeGuard(Ret(Obj2::*memFun)(P1a, P2a), Obj1& obj, P1b p1, P2b p2) { - return ObjScopeGuardImpl2<Obj1,Ret(Obj2::*)(P1a,P2a),P1b,P2b>::MakeObjGuard(obj,memFun,p1,p2); + return ObjScopeGuardImpl2<Obj1, Ret(Obj2::*)(P1a, P2a), P1b, P2b>::MakeObjGuard(obj, memFun, p1, p2); } template <typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b> -inline ObjScopeGuardImpl2<Obj1,Ret(Obj2::*)(P1a,P2a),P1b,P2b> MakeGuard(Ret(Obj2::*memFun)(P1a,P2a), Obj1* obj, P1b p1, P2b p2) +inline ObjScopeGuardImpl2<Obj1, Ret(Obj2::*)(P1a, P2a), P1b, P2b> MakeGuard(Ret(Obj2::*memFun)(P1a, P2a), Obj1* obj, P1b p1, P2b p2) { - return ObjScopeGuardImpl2<Obj1,Ret(Obj2::*)(P1a,P2a),P1b,P2b>::MakeObjGuard(*obj,memFun,p1,p2); + return ObjScopeGuardImpl2<Obj1, Ret(Obj2::*)(P1a, P2a), P1b, P2b>::MakeObjGuard(*obj, memFun, p1, p2); } //////////////////////////////////////////////////////////////// @@ -662,5 +662,8 @@ MakeGuard( Ret( Obj2::*memFun )( P1a, P2a, P3a ), Obj1* obj, P1b p1, P2b p2, P3b #define LOKI_ON_BLOCK_EXIT ::Loki::ScopeGuard LOKI_ANONYMOUS_VARIABLE(scopeGuard) = ::Loki::MakeGuard #define LOKI_ON_BLOCK_EXIT_OBJ ::Loki::ScopeGuard LOKI_ANONYMOUS_VARIABLE(scopeGuard) = ::Loki::MakeObjGuard +//by ZenJu +#define LOKI_ON_BLOCK_EXIT2(X) ::Loki::ScopeGuard LOKI_ANONYMOUS_VARIABLE(scopeGuard) = ::Loki::MakeGuard([&](){X;}); (void)LOKI_ANONYMOUS_VARIABLE(scopeGuard); + #endif // end file guardian diff --git a/shared/loki/Sequence.h b/shared/loki/Sequence.h index e8c8bd35..04a64174 100644 --- a/shared/loki/Sequence.h +++ b/shared/loki/Sequence.h @@ -22,16 +22,16 @@ namespace Loki template < -class T01=NullType,class T02=NullType,class T03=NullType,class T04=NullType,class T05=NullType, - class T06=NullType,class T07=NullType,class T08=NullType,class T09=NullType,class T10=NullType, - class T11=NullType,class T12=NullType,class T13=NullType,class T14=NullType,class T15=NullType, - class T16=NullType,class T17=NullType,class T18=NullType,class T19=NullType,class T20=NullType +class T01 = NullType, class T02 = NullType, class T03 = NullType, class T04 = NullType, class T05 = NullType, + class T06 = NullType, class T07 = NullType, class T08 = NullType, class T09 = NullType, class T10 = NullType, + class T11 = NullType, class T12 = NullType, class T13 = NullType, class T14 = NullType, class T15 = NullType, + class T16 = NullType, class T17 = NullType, class T18 = NullType, class T19 = NullType, class T20 = NullType > struct Seq { private: - typedef typename Seq< T02, T03, T04, T05, T06, T07, T08, T09, T10, - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>::Type + typedef typename Seq < T02, T03, T04, T05, T06, T07, T08, T09, T10, + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 >::Type TailResult; public: typedef Typelist<T01, TailResult> Type; diff --git a/shared/loki/Singleton.h b/shared/loki/Singleton.h index c5f1f567..1e479032 100644 --- a/shared/loki/Singleton.h +++ b/shared/loki/Singleton.h @@ -119,7 +119,7 @@ template <typename T, typename Destroyer> class ConcreteLifetimeTracker : public LifetimeTracker { public: - ConcreteLifetimeTracker(T* p,unsigned int longevity, Destroyer d) + ConcreteLifetimeTracker(T* p, unsigned int longevity, Destroyer d) : LifetimeTracker(longevity) , pTracked_(p) , destroyer_(d) @@ -151,7 +151,7 @@ void SetLongevity(T* pDynObject, unsigned int longevity, using namespace Private; // manage lifetime of stack manually - if(pTrackerArray==0) + if (pTrackerArray == 0) pTrackerArray = new TrackerArray; // automatically delete the ConcreteLifetimeTracker object when a exception is thrown @@ -261,7 +261,7 @@ struct CreateUsing { //allocator.destroy(p); p->~T(); - allocator.deallocate(p,1); + allocator.deallocate(p, 1); } }; }; @@ -566,21 +566,21 @@ public: /// \ingroup LongevityLifetimeGroup /// \brief Longest possible SingletonWithLongevity lifetime: 0xFFFFFFFF template <class T> -struct DieLast : SingletonFixedLongevity<0xFFFFFFFF ,T> +struct DieLast : SingletonFixedLongevity<0xFFFFFFFF , T> {}; /// \struct DieDirectlyBeforeLast /// \ingroup LongevityLifetimeGroup /// \brief Lifetime is a one less than DieLast: 0xFFFFFFFF-1 template <class T> -struct DieDirectlyBeforeLast : SingletonFixedLongevity<0xFFFFFFFF-1 ,T> +struct DieDirectlyBeforeLast : SingletonFixedLongevity < 0xFFFFFFFF - 1 , T > {}; /// \struct DieFirst /// \ingroup LongevityLifetimeGroup /// \brief Shortest possible SingletonWithLongevity lifetime: 0 template <class T> -struct DieFirst : SingletonFixedLongevity<0,T> +struct DieFirst : SingletonFixedLongevity<0, T> {}; }//namespace LongevityLifetime @@ -616,7 +616,7 @@ class FollowIntoDeath static void Init() { static bool done = false; - if(!done) + if (!done) { followers_ = new Container; done = true; @@ -632,7 +632,7 @@ class FollowIntoDeath static void DestroyFollowers() { Init(); - for(iterator it = followers_->begin(); it != followers_->end(); ++it) + for (iterator it = followers_->begin(); it != followers_->end(); ++it) (*it)(); delete followers_; } @@ -660,7 +660,7 @@ public: // template instantiation, this adds a additional atexit entry // does not work with SetLonlevity, but there you can control // the lifetime with the GetLongevity function. - Lifetime<Followers<Master> >::ScheduleDestruction(0,Followers<Master>::DestroyFollowers); + Lifetime<Followers<Master> >::ScheduleDestruction(0, Followers<Master>::DestroyFollowers); } static void OnDeadReference() @@ -741,7 +741,7 @@ private: SingletonHolder(); // Data - typedef typename ThreadingModel<T*,MutexPolicy>::VolatileType PtrInstanceType; + typedef typename ThreadingModel<T*, MutexPolicy>::VolatileType PtrInstanceType; static PtrInstanceType pInstance_; static bool destroyed_; }; @@ -783,8 +783,8 @@ class T, template <class, class> class ThreadingModel, class MutexPolicy > -inline T& SingletonHolder<T, CreationPolicy, - LifetimePolicy, ThreadingModel, MutexPolicy>::Instance() +inline T& SingletonHolder < T, CreationPolicy, + LifetimePolicy, ThreadingModel, MutexPolicy >::Instance() { if (!pInstance_) { @@ -805,10 +805,10 @@ template <class> class LifetimePolicy, template <class, class> class ThreadingModel, class MutexPolicy > -void SingletonHolder<T, CreationPolicy, - LifetimePolicy, ThreadingModel, MutexPolicy>::MakeInstance() +void SingletonHolder < T, CreationPolicy, + LifetimePolicy, ThreadingModel, MutexPolicy >::MakeInstance() { - typename ThreadingModel<SingletonHolder,MutexPolicy>::Lock guard; + typename ThreadingModel<SingletonHolder, MutexPolicy>::Lock guard; (void)guard; if (!pInstance_) @@ -875,14 +875,14 @@ public: /// Put this macro called with a SingletonHolder typedef into your cpp file. #define LOKI_SINGLETON_INSTANCE_DEFINITION(SHOLDER) \ -namespace Loki \ -{ \ + namespace Loki \ + { \ template<> \ SHOLDER::ObjectType& Singleton<SHOLDER::ObjectType>::Instance() \ { \ return SHOLDER::Instance(); \ } \ -} + } #endif // end file guardian diff --git a/shared/loki/SmallObj.cpp b/shared/loki/SmallObj.cpp index 0d82c1bb..1c42374f 100644 --- a/shared/loki/SmallObj.cpp +++ b/shared/loki/SmallObj.cpp @@ -1012,7 +1012,7 @@ void FixedAllocator::DoDeallocate(void* p) /// Calculates index into array where a FixedAllocator of numBytes is located. inline std::size_t GetOffset( std::size_t numBytes, std::size_t alignment ) { - const std::size_t alignExtra = alignment-1; + const std::size_t alignExtra = alignment - 1; return ( numBytes + alignExtra ) / alignment; } @@ -1070,7 +1070,7 @@ SmallObjAllocator::SmallObjAllocator( std::size_t pageSize, const std::size_t allocCount = GetOffset( maxObjectSize, objectAlignSize ); pool_ = new FixedAllocator[ allocCount ]; for ( std::size_t i = 0; i < allocCount; ++i ) - pool_[ i ].Initialize( ( i+1 ) * objectAlignSize, pageSize ); + pool_[ i ].Initialize( ( i + 1 ) * objectAlignSize, pageSize ); } // SmallObjAllocator::~SmallObjAllocator -------------------------------------- diff --git a/shared/loki/SmallObj.h b/shared/loki/SmallObj.h index 8725b911..10624cc2 100644 --- a/shared/loki/SmallObj.h +++ b/shared/loki/SmallObj.h @@ -224,14 +224,14 @@ class AllocatorSingleton : public SmallObjAllocator public: /// Defines type of allocator. - typedef AllocatorSingleton< ThreadingModel, chunkSize, + typedef AllocatorSingleton < ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy > MyAllocator; /// Defines type for thread-safety locking mechanism. typedef ThreadingModel< MyAllocator, MutexPolicy > MyThreadingModel; /// Defines singleton made from allocator. - typedef Loki::SingletonHolder< MyAllocator, Loki::CreateStatic, + typedef Loki::SingletonHolder < MyAllocator, Loki::CreateStatic, LifetimePolicy, ThreadingModel > MyAllocatorSingleton; /// Returns reference to the singleton. @@ -441,7 +441,7 @@ class SmallObjectBase public: /// Defines type of allocator singleton, must be public /// to handle singleton lifetime dependencies. - typedef AllocatorSingleton< ThreadingModel, chunkSize, + typedef AllocatorSingleton < ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy > ObjAllocatorSingleton; private: @@ -591,7 +591,7 @@ template <class, class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEV template <class> class LifetimePolicy = LOKI_DEFAULT_SMALLOBJ_LIFETIME, class MutexPolicy = LOKI_DEFAULT_MUTEX > -class SmallObject : public SmallObjectBase< ThreadingModel, chunkSize, +class SmallObject : public SmallObjectBase < ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy > { @@ -627,7 +627,7 @@ template <class, class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEV template <class> class LifetimePolicy = LOKI_DEFAULT_SMALLOBJ_LIFETIME, class MutexPolicy = LOKI_DEFAULT_MUTEX > -class SmallValueObject : public SmallObjectBase< ThreadingModel, chunkSize, +class SmallValueObject : public SmallObjectBase < ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy > { protected: diff --git a/shared/loki/SmartPtr.h b/shared/loki/SmartPtr.h index fb14258e..6f6f9996 100644 --- a/shared/loki/SmartPtr.h +++ b/shared/loki/SmartPtr.h @@ -440,7 +440,7 @@ public: : pCount_(static_cast<uintptr_t*>( SmallObject<>::operator new(sizeof(uintptr_t)))) { - assert(pCount_!=0); + assert(pCount_ != 0); *pCount_ = 1; } @@ -500,7 +500,7 @@ private: /// fixed at a higher design level, and no change to this class could fix it. //////////////////////////////////////////////////////////////////////////////// -template <template <class, class> class ThreadingModel, +template < template <class, class> class ThreadingModel, class MX = LOKI_DEFAULT_MUTEX > struct RefCountedMTAdj { @@ -584,14 +584,14 @@ public: static P Clone(const P& val) { - if(val!=0) + if (val != 0) val->AddRef(); return val; } static bool Release(const P& val) { - if(val!=0) + if (val != 0) val->Release(); return false; } @@ -1138,7 +1138,7 @@ public: typedef typename SP::StoredType StoredType; typedef typename SP::ReferenceType ReferenceType; - typedef typename Select<OP::destructiveCopy,SmartPtr, const SmartPtr>::Result + typedef typename Select<OP::destructiveCopy, SmartPtr, const SmartPtr>::Result CopyArg; private: @@ -1146,7 +1146,7 @@ private: #ifdef LOKI_SMARTPTR_CONVERSION_CONSTRUCTOR_POLICY typedef typename Select< CP::allow, const StoredType&, NeverMatched>::Result ImplicitArg; - typedef typename Select<!CP::allow, const StoredType&, NeverMatched>::Result ExplicitArg; + typedef typename Select < !CP::allow, const StoredType&, NeverMatched >::Result ExplicitArg; #else typedef const StoredType& ImplicitArg; typedef typename Select<false, const StoredType&, NeverMatched>::Result ExplicitArg; @@ -1765,8 +1765,8 @@ typename T, template <class> class CNP > struct less< Loki::SmartPtr<T, OP, CP, KP, SP, CNP > > - : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >, - Loki::SmartPtr<T, OP, CP, KP, SP, CNP >, bool> + : public binary_function < Loki::SmartPtr<T, OP, CP, KP, SP, CNP >, + Loki::SmartPtr<T, OP, CP, KP, SP, CNP >, bool > { bool operator()(const Loki::SmartPtr<T, OP, CP, KP, SP, CNP >& lhs, const Loki::SmartPtr<T, OP, CP, KP, SP, CNP >& rhs) const diff --git a/shared/loki/StrongPtr.h b/shared/loki/StrongPtr.h index 23d70415..868eb48f 100644 --- a/shared/loki/StrongPtr.h +++ b/shared/loki/StrongPtr.h @@ -887,7 +887,7 @@ private: #ifdef LOKI_SMARTPTR_CONVERSION_CONSTRUCTOR_POLICY typedef typename Select< CP::allow, const StoredType&, NeverMatched>::Result ImplicitArg; - typedef typename Select<!CP::allow, const StoredType&, NeverMatched>::Result ExplicitArg; + typedef typename Select < !CP::allow, const StoredType&, NeverMatched >::Result ExplicitArg; #else typedef const StoredType& ImplicitArg; typedef typename Select<false, const StoredType&, NeverMatched>::Result ExplicitArg; @@ -1678,7 +1678,7 @@ typename T, template < class > class CNP > struct less< Loki::StrongPtr< T, S, OP, CP, KP, RP, DP, CNP > > - : public binary_function< + : public binary_function < Loki::StrongPtr< T, S, OP, CP, KP, RP, DP, CNP >, Loki::StrongPtr< T, S, OP, CP, KP, RP, DP, CNP >, bool > { diff --git a/shared/loki/Threads.h b/shared/loki/Threads.h index 8fb5d362..690ca50f 100644 --- a/shared/loki/Threads.h +++ b/shared/loki/Threads.h @@ -92,97 +92,97 @@ #define LOKI_THREADS_MUTEX_CTOR(x) #define LOKI_THREADS_ATOMIC_FUNCTIONS \ - static IntType AtomicMultiply(volatile IntType& lval, const IntType val) \ - { \ - ::EnterCriticalSection( &atomic_mutex_ ); \ - lval *= val; \ - ::LeaveCriticalSection( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicDivide(volatile IntType& lval, const IntType val) \ - { \ - ::EnterCriticalSection( &atomic_mutex_ ); \ - lval /= val; \ - ::LeaveCriticalSection( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicIncrement(volatile IntType& lval) \ - { \ - ::EnterCriticalSection( &atomic_mutex_ ); \ - ++lval; \ - ::LeaveCriticalSection( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicDecrement(volatile IntType& lval) \ - { \ - ::EnterCriticalSection( &atomic_mutex_ ); \ - --lval; \ - ::LeaveCriticalSection( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static void AtomicAssign(volatile IntType& lval, const IntType val) \ - { InterlockedExchange(&const_cast<IntType&>(lval), val); } \ - \ - static void AtomicAssign(IntType& lval, volatile const IntType& val) \ - { InterlockedExchange(&lval, val); } \ - \ - static IntType AtomicIncrement(volatile IntType& lval, const IntType compare, bool & matches ) \ - { \ - ::EnterCriticalSection( &atomic_mutex_ ); \ - ++lval; \ - matches = ( lval == compare ); \ - ::LeaveCriticalSection( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicDecrement(volatile IntType& lval, const IntType compare, bool & matches ) \ - { \ - ::EnterCriticalSection( &atomic_mutex_ ); \ - --lval; \ - matches = ( lval == compare ); \ - ::LeaveCriticalSection( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicAdd(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ - { \ - ::EnterCriticalSection( &atomic_mutex_ ); \ - lval += val; \ - matches = ( lval == compare ); \ - ::LeaveCriticalSection( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicSubtract(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ - { \ - ::EnterCriticalSection( &atomic_mutex_ ); \ - lval -= val; \ - matches = ( lval == compare ); \ - ::LeaveCriticalSection( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicMultiply(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ - { \ - ::EnterCriticalSection( &atomic_mutex_ ); \ - lval *= val; \ - matches = ( lval == compare ); \ - ::LeaveCriticalSection( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicDivide(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ - { \ - ::EnterCriticalSection( &atomic_mutex_ ); \ - lval /= val; \ - matches = ( lval == compare ); \ - ::LeaveCriticalSection( &atomic_mutex_ ); \ - return lval; \ - } + static IntType AtomicMultiply(volatile IntType& lval, const IntType val) \ + { \ + ::EnterCriticalSection( &atomic_mutex_ ); \ + lval *= val; \ + ::LeaveCriticalSection( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicDivide(volatile IntType& lval, const IntType val) \ + { \ + ::EnterCriticalSection( &atomic_mutex_ ); \ + lval /= val; \ + ::LeaveCriticalSection( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicIncrement(volatile IntType& lval) \ + { \ + ::EnterCriticalSection( &atomic_mutex_ ); \ + ++lval; \ + ::LeaveCriticalSection( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicDecrement(volatile IntType& lval) \ + { \ + ::EnterCriticalSection( &atomic_mutex_ ); \ + --lval; \ + ::LeaveCriticalSection( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static void AtomicAssign(volatile IntType& lval, const IntType val) \ + { InterlockedExchange(&const_cast<IntType&>(lval), val); } \ + \ + static void AtomicAssign(IntType& lval, volatile const IntType& val) \ + { InterlockedExchange(&lval, val); } \ + \ + static IntType AtomicIncrement(volatile IntType& lval, const IntType compare, bool & matches ) \ + { \ + ::EnterCriticalSection( &atomic_mutex_ ); \ + ++lval; \ + matches = ( lval == compare ); \ + ::LeaveCriticalSection( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicDecrement(volatile IntType& lval, const IntType compare, bool & matches ) \ + { \ + ::EnterCriticalSection( &atomic_mutex_ ); \ + --lval; \ + matches = ( lval == compare ); \ + ::LeaveCriticalSection( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicAdd(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ + { \ + ::EnterCriticalSection( &atomic_mutex_ ); \ + lval += val; \ + matches = ( lval == compare ); \ + ::LeaveCriticalSection( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicSubtract(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ + { \ + ::EnterCriticalSection( &atomic_mutex_ ); \ + lval -= val; \ + matches = ( lval == compare ); \ + ::LeaveCriticalSection( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicMultiply(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ + { \ + ::EnterCriticalSection( &atomic_mutex_ ); \ + lval *= val; \ + matches = ( lval == compare ); \ + ::LeaveCriticalSection( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicDivide(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ + { \ + ::EnterCriticalSection( &atomic_mutex_ ); \ + lval /= val; \ + matches = ( lval == compare ); \ + ::LeaveCriticalSection( &atomic_mutex_ ); \ + return lval; \ + } #elif defined(LOKI_PTHREAD_H) @@ -206,96 +206,96 @@ #define LOKI_THREADS_LONG long #define LOKI_THREADS_ATOMIC(x) \ - pthread_mutex_lock(&atomic_mutex_); \ - x; \ - pthread_mutex_unlock(&atomic_mutex_) + pthread_mutex_lock(&atomic_mutex_); \ + x; \ + pthread_mutex_unlock(&atomic_mutex_) #define LOKI_THREADS_ATOMIC_FUNCTIONS \ private: \ - static pthread_mutex_t atomic_mutex_; \ + static pthread_mutex_t atomic_mutex_; \ public: \ - static IntType AtomicMultiply(volatile IntType& lval, const IntType val) \ - { \ - ::pthread_mutex_lock( &atomic_mutex_ ); \ - lval *= val; \ - ::pthread_mutex_unlock( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicDivide(volatile IntType& lval, const IntType val) \ - { \ - ::pthread_mutex_lock( &atomic_mutex_ ); \ - lval /= val; \ - ::pthread_mutex_unlock( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicIncrement(volatile IntType& lval) \ - { \ - ::pthread_mutex_lock( &atomic_mutex_ ); \ - ++lval; \ - ::pthread_mutex_unlock( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicDecrement(volatile IntType& lval) \ - { \ - ::pthread_mutex_lock( &atomic_mutex_ ); \ - --lval; \ - ::pthread_mutex_unlock( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static void AtomicAssign(volatile IntType& lval, const IntType val) \ - { \ - ::pthread_mutex_lock( &atomic_mutex_ ); \ - lval = val; \ - ::pthread_mutex_unlock( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static void AtomicAssign(IntType& lval, volatile const IntType& val) \ - { \ - ::pthread_mutex_lock( &atomic_mutex_ ); \ - lval = val; \ - ::pthread_mutex_unlock( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicIncrement(volatile IntType& lval, const IntType compare, bool & matches ) \ - { \ - ::pthread_mutex_lock( &atomic_mutex_ ); \ - ++lval; \ - matches = ( compare == lval ); \ - ::pthread_mutex_unlock( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicDecrement(volatile IntType& lval, const IntType compare, bool & matches ) \ - { \ - ::pthread_mutex_lock( &atomic_mutex_ ); \ - --lval; \ - matches = ( compare == lval ); \ - ::pthread_mutex_unlock( &atomic_mutex_ ); \ - return lval; \ - } \ - static IntType AtomicMultiply(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ - { \ - ::pthread_mutex_lock( &atomic_mutex_ ); \ - lval *= val; \ - matches = ( lval == compare ); \ - ::pthread_mutex_unlock( &atomic_mutex_ ); \ - return lval; \ - } \ - \ - static IntType AtomicDivide(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ - { \ - ::pthread_mutex_lock( &atomic_mutex_ ); \ - lval /= val; \ - matches = ( lval == compare ); \ - ::pthread_mutex_unlock( &atomic_mutex_ ); \ - return lval; \ - } + static IntType AtomicMultiply(volatile IntType& lval, const IntType val) \ + { \ + ::pthread_mutex_lock( &atomic_mutex_ ); \ + lval *= val; \ + ::pthread_mutex_unlock( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicDivide(volatile IntType& lval, const IntType val) \ + { \ + ::pthread_mutex_lock( &atomic_mutex_ ); \ + lval /= val; \ + ::pthread_mutex_unlock( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicIncrement(volatile IntType& lval) \ + { \ + ::pthread_mutex_lock( &atomic_mutex_ ); \ + ++lval; \ + ::pthread_mutex_unlock( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicDecrement(volatile IntType& lval) \ + { \ + ::pthread_mutex_lock( &atomic_mutex_ ); \ + --lval; \ + ::pthread_mutex_unlock( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static void AtomicAssign(volatile IntType& lval, const IntType val) \ + { \ + ::pthread_mutex_lock( &atomic_mutex_ ); \ + lval = val; \ + ::pthread_mutex_unlock( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static void AtomicAssign(IntType& lval, volatile const IntType& val) \ + { \ + ::pthread_mutex_lock( &atomic_mutex_ ); \ + lval = val; \ + ::pthread_mutex_unlock( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicIncrement(volatile IntType& lval, const IntType compare, bool & matches ) \ + { \ + ::pthread_mutex_lock( &atomic_mutex_ ); \ + ++lval; \ + matches = ( compare == lval ); \ + ::pthread_mutex_unlock( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicDecrement(volatile IntType& lval, const IntType compare, bool & matches ) \ + { \ + ::pthread_mutex_lock( &atomic_mutex_ ); \ + --lval; \ + matches = ( compare == lval ); \ + ::pthread_mutex_unlock( &atomic_mutex_ ); \ + return lval; \ + } \ + static IntType AtomicMultiply(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ + { \ + ::pthread_mutex_lock( &atomic_mutex_ ); \ + lval *= val; \ + matches = ( lval == compare ); \ + ::pthread_mutex_unlock( &atomic_mutex_ ); \ + return lval; \ + } \ + \ + static IntType AtomicDivide(volatile IntType& lval, const IntType val, const IntType compare, bool & matches ) \ + { \ + ::pthread_mutex_lock( &atomic_mutex_ ); \ + lval /= val; \ + matches = ( lval == compare ); \ + ::pthread_mutex_unlock( &atomic_mutex_ ); \ + return lval; \ + } #else // single threaded diff --git a/shared/loki/TypeManip.h b/shared/loki/TypeManip.h index 6b7f4ab8..7933e340 100644 --- a/shared/loki/TypeManip.h +++ b/shared/loki/TypeManip.h @@ -83,7 +83,7 @@ struct IsSameType }; template <typename T> -struct IsSameType<T,T> +struct IsSameType<T, T> { enum { value = true }; }; @@ -215,7 +215,7 @@ struct SuperSubclass<T, void> // Caveat: might not work if T and U are in a private inheritance hierarchy. //////////////////////////////////////////////////////////////////////////////// -template<class T,class U> +template<class T, class U> struct SuperSubclassStrict { enum { value = (::Loki::Conversion<const volatile U*, const volatile T*>::exists && diff --git a/shared/loki/TypeTraits.h b/shared/loki/TypeTraits.h index 2d5af757..28d0f0c1 100644 --- a/shared/loki/TypeTraits.h +++ b/shared/loki/TypeTraits.h @@ -93,18 +93,18 @@ struct IsCustomFloat namespace Private { #ifndef LOKI_DISABLE_TYPELIST_MACROS -typedef LOKI_TYPELIST_4(unsigned char, unsigned short int,unsigned int, unsigned long int) +typedef LOKI_TYPELIST_4(unsigned char, unsigned short int, unsigned int, unsigned long int) StdUnsignedInts; -typedef LOKI_TYPELIST_4(signed char, short int,int, long int) +typedef LOKI_TYPELIST_4(signed char, short int, int, long int) StdSignedInts; typedef LOKI_TYPELIST_3(bool, char, wchar_t) StdOtherInts; typedef LOKI_TYPELIST_3(float, double, long double) StdFloats; #else -typedef Loki::Seq<unsigned char, unsigned short int,unsigned int, unsigned long int>::Type +typedef Loki::Seq<unsigned char, unsigned short int, unsigned int, unsigned long int>::Type StdUnsignedInts; -typedef Loki::Seq<signed char, short int,int, long int>::Type +typedef Loki::Seq<signed char, short int, int, long int>::Type StdSignedInts; typedef Loki::Seq<bool, char, wchar_t>::Type StdOtherInts; @@ -160,372 +160,372 @@ template <typename T> struct IsFunctionPointerRaw<T(*)()> {enum {result = 1};}; -template <typename T, - typename P01> +template < typename T, + typename P01 > struct IsFunctionPointerRaw<T(*)(P01)> {enum {result = 1};}; -template <typename T, - typename P01, typename P02> -struct IsFunctionPointerRaw<T(*)( - P01, P02)> +template < typename T, + typename P01, typename P02 > +struct IsFunctionPointerRaw < T(*)( + P01, P02) > {enum {result = 1};}; -template <typename T, - typename P01, typename P02, typename P03> -struct IsFunctionPointerRaw<T(*)( - P01, P02, P03)> +template < typename T, + typename P01, typename P02, typename P03 > +struct IsFunctionPointerRaw < T(*)( + P01, P02, P03) > {enum {result = 1};}; -template <typename T, - typename P01, typename P02, typename P03, typename P04> -struct IsFunctionPointerRaw<T(*)( - P01, P02, P03, P04)> +template < typename T, + typename P01, typename P02, typename P03, typename P04 > +struct IsFunctionPointerRaw < T(*)( + P01, P02, P03, P04) > {enum {result = 1};}; -template <typename T, - typename P01, typename P02, typename P03, typename P04, typename P05> -struct IsFunctionPointerRaw<T(*)( - P01, P02, P03, P04, P05)> +template < typename T, + typename P01, typename P02, typename P03, typename P04, typename P05 > +struct IsFunctionPointerRaw < T(*)( + P01, P02, P03, P04, P05) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06> -struct IsFunctionPointerRaw<T(*)( + typename P06 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, - P06)> + P06) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07> -struct IsFunctionPointerRaw<T(*)( + typename P06, typename P07 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, - P06, P07)> + P06, P07) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08> -struct IsFunctionPointerRaw<T(*)( + typename P06, typename P07, typename P08 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, - P06, P07, P08)> + P06, P07, P08) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09> -struct IsFunctionPointerRaw<T(*)( + typename P06, typename P07, typename P08, typename P09 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09)> + P06, P07, P08, P09) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09, typename P10> -struct IsFunctionPointerRaw<T(*)( + typename P06, typename P07, typename P08, typename P09, typename P10 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09, P10)> + P06, P07, P08, P09, P10) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11> -struct IsFunctionPointerRaw<T(*)( + typename P11 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11)> + P11) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12> -struct IsFunctionPointerRaw<T(*)( + typename P11, typename P12 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12)> + P11, P12) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13> -struct IsFunctionPointerRaw<T(*)( + typename P11, typename P12, typename P13 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13)> + P11, P12, P13) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14> -struct IsFunctionPointerRaw<T(*)( + typename P11, typename P12, typename P13, typename P14 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14)> + P11, P12, P13, P14) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14, typename P15> -struct IsFunctionPointerRaw<T(*)( + typename P11, typename P12, typename P13, typename P14, typename P15 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14, P15)> + P11, P12, P13, P14, P15) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16> -struct IsFunctionPointerRaw<T(*)( + typename P16 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16)> + P16) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17> -struct IsFunctionPointerRaw<T(*)( + typename P16, typename P17 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17)> + P16, P17) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18> -struct IsFunctionPointerRaw<T(*)( + typename P16, typename P17, typename P18 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18)> + P16, P17, P18) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19> -struct IsFunctionPointerRaw<T(*)( + typename P16, typename P17, typename P18, typename P19 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19)> + P16, P17, P18, P19) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19, typename P20> -struct IsFunctionPointerRaw<T(*)( + typename P16, typename P17, typename P18, typename P19, typename P20 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19, P20)> + P16, P17, P18, P19, P20) > {enum {result = 1};}; template <typename T> -struct IsFunctionPointerRaw<T(*)( - ...)> +struct IsFunctionPointerRaw < T(*)( + ...) > {enum {result = 1};}; -template <typename T, - typename P01> -struct IsFunctionPointerRaw<T(*)( - P01, ...)> +template < typename T, + typename P01 > +struct IsFunctionPointerRaw < T(*)( + P01, ...) > {enum {result = 1};}; -template <typename T, - typename P01, typename P02> -struct IsFunctionPointerRaw<T(*)( - P01, P02, ...)> +template < typename T, + typename P01, typename P02 > +struct IsFunctionPointerRaw < T(*)( + P01, P02, ...) > {enum {result = 1};}; -template <typename T, - typename P01, typename P02, typename P03> -struct IsFunctionPointerRaw<T(*)( - P01, P02, P03, ...)> +template < typename T, + typename P01, typename P02, typename P03 > +struct IsFunctionPointerRaw < T(*)( + P01, P02, P03, ...) > {enum {result = 1};}; -template <typename T, - typename P01, typename P02, typename P03, typename P04> -struct IsFunctionPointerRaw<T(*)( - P01, P02, P03, P04, ...)> +template < typename T, + typename P01, typename P02, typename P03, typename P04 > +struct IsFunctionPointerRaw < T(*)( + P01, P02, P03, P04, ...) > {enum {result = 1};}; -template <typename T, - typename P01, typename P02, typename P03, typename P04, typename P05> -struct IsFunctionPointerRaw<T(*)( +template < typename T, + typename P01, typename P02, typename P03, typename P04, typename P05 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, - ...)> + ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06> -struct IsFunctionPointerRaw<T(*)( + typename P06 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, - P06, ...)> + P06, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07> -struct IsFunctionPointerRaw<T(*)( + typename P06, typename P07 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, - P06, P07, ...)> + P06, P07, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08> -struct IsFunctionPointerRaw<T(*)( + typename P06, typename P07, typename P08 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, - P06, P07, P08, ...)> + P06, P07, P08, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09> -struct IsFunctionPointerRaw<T(*)( + typename P06, typename P07, typename P08, typename P09 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09, ...)> + P06, P07, P08, P09, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09, typename P10> -struct IsFunctionPointerRaw<T(*)( + typename P06, typename P07, typename P08, typename P09, typename P10 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - ...)> + ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11> -struct IsFunctionPointerRaw<T(*)( + typename P11 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, ...)> + P11, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12> -struct IsFunctionPointerRaw<T(*)( + typename P11, typename P12 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, ...)> + P11, P12, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13> -struct IsFunctionPointerRaw<T(*)( + typename P11, typename P12, typename P13 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, ...)> + P11, P12, P13, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14> -struct IsFunctionPointerRaw<T(*)( + typename P11, typename P12, typename P13, typename P14 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14, ...)> + P11, P12, P13, P14, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14, typename P15> -struct IsFunctionPointerRaw<T(*)( + typename P11, typename P12, typename P13, typename P14, typename P15 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - ...)> + ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16> -struct IsFunctionPointerRaw<T(*)( + typename P16 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, ...)> + P16, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17> -struct IsFunctionPointerRaw<T(*)( + typename P16, typename P17 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, ...)> + P16, P17, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18> -struct IsFunctionPointerRaw<T(*)( + typename P16, typename P17, typename P18 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, ...)> + P16, P17, P18, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19> -struct IsFunctionPointerRaw<T(*)( + typename P16, typename P17, typename P18, typename P19 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19, ...)> + P16, P17, P18, P19, ...) > {enum {result = 1};}; -template <typename T, +template < typename T, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19, typename P20> -struct IsFunctionPointerRaw<T(*)( + typename P16, typename P17, typename P18, typename P19, typename P20 > +struct IsFunctionPointerRaw < T(*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, - ...)> + ...) > {enum {result = 1};}; @@ -537,372 +537,372 @@ template <typename T, typename S> struct IsMemberFunctionPointerRaw<T (S::*)()> {enum {result = 1};}; -template <typename T, typename S, - typename P01> +template < typename T, typename S, + typename P01 > struct IsMemberFunctionPointerRaw<T (S::*)(P01)> {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02)> +template < typename T, typename S, + typename P01, typename P02 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02) > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03)> +template < typename T, typename S, + typename P01, typename P02, typename P03 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03) > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04)> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04) > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04, typename P05> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04, P05)> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04, typename P05 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04, P05) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06)> + P06) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07)> + P06, P07) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08)> + P06, P07, P08) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09)> + P06, P07, P08, P09) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09, typename P10> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09, typename P10 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09, P10)> + P06, P07, P08, P09, P10) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11)> + P11) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12)> + P11, P12) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13)> + P11, P12, P13) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14)> + P11, P12, P13, P14) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14, typename P15> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14, typename P15 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14, P15)> + P11, P12, P13, P14, P15) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16)> + P16) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17)> + P16, P17) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18)> + P16, P17, P18) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19)> + P16, P17, P18, P19) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19, typename P20> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19, typename P20 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19, P20)> + P16, P17, P18, P19, P20) > {enum {result = 1};}; template <typename T, typename S> -struct IsMemberFunctionPointerRaw<T (S::*)( - ...)> +struct IsMemberFunctionPointerRaw < T (S::*)( + ...) > {enum {result = 1};}; -template <typename T, typename S, - typename P01> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, ...)> +template < typename T, typename S, + typename P01 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, ...) > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, ...)> +template < typename T, typename S, + typename P01, typename P02 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, ...) > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, ...)> +template < typename T, typename S, + typename P01, typename P02, typename P03 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, ...) > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04, ...)> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04, ...) > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04, typename P05> -struct IsMemberFunctionPointerRaw<T (S::*)( +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04, typename P05 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - ...)> + ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, ...)> + P06, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, ...)> + P06, P07, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, ...)> + P06, P07, P08, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09, ...)> + P06, P07, P08, P09, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09, typename P10> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09, typename P10 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - ...)> + ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, ...)> + P11, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, ...)> + P11, P12, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, ...)> + P11, P12, P13, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14, ...)> + P11, P12, P13, P14, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14, typename P15> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14, typename P15 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - ...)> + ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, ...)> + P16, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, ...)> + P16, P17, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, ...)> + P16, P17, P18, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19, ...)> + P16, P17, P18, P19, ...) > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19, typename P20> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19, typename P20 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, - ...)> + ...) > {enum {result = 1};}; // Const versions @@ -911,372 +911,372 @@ template <typename T, typename S> struct IsMemberFunctionPointerRaw<T (S::*)() const> {enum {result = 1};}; -template <typename T, typename S, - typename P01> +template < typename T, typename S, + typename P01 > struct IsMemberFunctionPointerRaw<T (S::*)(P01) const> {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02) const> +template < typename T, typename S, + typename P01, typename P02 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02) const > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03) const> +template < typename T, typename S, + typename P01, typename P02, typename P03 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03) const > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04) const> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04) const > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04, typename P05> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04, P05) const> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04, typename P05 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04, P05) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06) const> + P06) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07) const> + P06, P07) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08) const> + P06, P07, P08) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09) const> + P06, P07, P08, P09) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09, typename P10> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09, typename P10 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09, P10) const> + P06, P07, P08, P09, P10) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11) const> + P11) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12) const> + P11, P12) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13) const> + P11, P12, P13) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14) const> + P11, P12, P13, P14) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14, typename P15> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14, typename P15 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14, P15) const> + P11, P12, P13, P14, P15) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16) const> + P16) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17) const> + P16, P17) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18) const> + P16, P17, P18) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19) const> + P16, P17, P18, P19) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19, typename P20> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19, typename P20 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19, P20) const> + P16, P17, P18, P19, P20) const > {enum {result = 1};}; template <typename T, typename S> -struct IsMemberFunctionPointerRaw<T (S::*)( - ...) const> +struct IsMemberFunctionPointerRaw < T (S::*)( + ...) const > {enum {result = 1};}; -template <typename T, typename S, - typename P01> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, ...) const> +template < typename T, typename S, + typename P01 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, ...) const > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, ...) const> +template < typename T, typename S, + typename P01, typename P02 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, ...) const > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, ...) const> +template < typename T, typename S, + typename P01, typename P02, typename P03 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, ...) const > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04, ...) const> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04, ...) const > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04, typename P05> -struct IsMemberFunctionPointerRaw<T (S::*)( +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04, typename P05 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - ...) const> + ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, ...) const> + P06, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, ...) const> + P06, P07, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, ...) const> + P06, P07, P08, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09, ...) const> + P06, P07, P08, P09, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09, typename P10> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09, typename P10 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - ...) const> + ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, ...) const> + P11, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, ...) const> + P11, P12, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, ...) const> + P11, P12, P13, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14, ...) const> + P11, P12, P13, P14, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14, typename P15> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14, typename P15 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - ...) const> + ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, ...) const> + P16, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, ...) const> + P16, P17, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, ...) const> + P16, P17, P18, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19, ...) const> + P16, P17, P18, P19, ...) const > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19, typename P20> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19, typename P20 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, - ...) const> + ...) const > {enum {result = 1};}; // Volatile versions @@ -1285,372 +1285,372 @@ template <typename T, typename S> struct IsMemberFunctionPointerRaw<T (S::*)() volatile> {enum {result = 1};}; -template <typename T, typename S, - typename P01> +template < typename T, typename S, + typename P01 > struct IsMemberFunctionPointerRaw<T (S::*)(P01) volatile> {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02) volatile> +template < typename T, typename S, + typename P01, typename P02 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02) volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03) volatile> +template < typename T, typename S, + typename P01, typename P02, typename P03 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03) volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04) volatile> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04) volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04, typename P05> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04, P05) volatile> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04, typename P05 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04, P05) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06) volatile> + P06) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07) volatile> + P06, P07) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08) volatile> + P06, P07, P08) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09) volatile> + P06, P07, P08, P09) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09, typename P10> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09, typename P10 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09, P10) volatile> + P06, P07, P08, P09, P10) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11) volatile> + P11) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12) volatile> + P11, P12) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13) volatile> + P11, P12, P13) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14) volatile> + P11, P12, P13, P14) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14, typename P15> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14, typename P15 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14, P15) volatile> + P11, P12, P13, P14, P15) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16) volatile> + P16) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17) volatile> + P16, P17) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18) volatile> + P16, P17, P18) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19) volatile> + P16, P17, P18, P19) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19, typename P20> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19, typename P20 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19, P20) volatile> + P16, P17, P18, P19, P20) volatile > {enum {result = 1};}; template <typename T, typename S> -struct IsMemberFunctionPointerRaw<T (S::*)( - ...) volatile> +struct IsMemberFunctionPointerRaw < T (S::*)( + ...) volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, ...) volatile> +template < typename T, typename S, + typename P01 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, ...) volatile> +template < typename T, typename S, + typename P01, typename P02 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, ...) volatile> +template < typename T, typename S, + typename P01, typename P02, typename P03 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04, ...) volatile> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04, typename P05> -struct IsMemberFunctionPointerRaw<T (S::*)( +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04, typename P05 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - ...) volatile> + ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, ...) volatile> + P06, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, ...) volatile> + P06, P07, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, ...) volatile> + P06, P07, P08, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09, ...) volatile> + P06, P07, P08, P09, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09, typename P10> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09, typename P10 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - ...) volatile> + ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, ...) volatile> + P11, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, ...) volatile> + P11, P12, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, ...) volatile> + P11, P12, P13, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14, ...) volatile> + P11, P12, P13, P14, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14, typename P15> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14, typename P15 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - ...) volatile> + ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, ...) volatile> + P16, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, ...) volatile> + P16, P17, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, ...) volatile> + P16, P17, P18, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19, ...) volatile> + P16, P17, P18, P19, ...) volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19, typename P20> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19, typename P20 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, - ...) volatile> + ...) volatile > {enum {result = 1};}; // Const volatile versions @@ -1659,372 +1659,372 @@ template <typename T, typename S> struct IsMemberFunctionPointerRaw<T (S::*)() const volatile> {enum {result = 1};}; -template <typename T, typename S, - typename P01> +template < typename T, typename S, + typename P01 > struct IsMemberFunctionPointerRaw<T (S::*)(P01) const volatile> {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02) const volatile> +template < typename T, typename S, + typename P01, typename P02 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02) const volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03) const volatile> +template < typename T, typename S, + typename P01, typename P02, typename P03 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03) const volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04) const volatile> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04) const volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04, typename P05> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04, P05) const volatile> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04, typename P05 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04, P05) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06) const volatile> + P06) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07) const volatile> + P06, P07) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08) const volatile> + P06, P07, P08) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09) const volatile> + P06, P07, P08, P09) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09, typename P10> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09, typename P10 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09, P10) const volatile> + P06, P07, P08, P09, P10) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11) const volatile> + P11) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12) const volatile> + P11, P12) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13) const volatile> + P11, P12, P13) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14) const volatile> + P11, P12, P13, P14) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14, typename P15> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14, typename P15 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14, P15) const volatile> + P11, P12, P13, P14, P15) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16) const volatile> + P16) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17) const volatile> + P16, P17) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18) const volatile> + P16, P17, P18) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19) const volatile> + P16, P17, P18, P19) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19, typename P20> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19, typename P20 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19, P20) const volatile> + P16, P17, P18, P19, P20) const volatile > {enum {result = 1};}; template <typename T, typename S> -struct IsMemberFunctionPointerRaw<T (S::*)( - ...) const volatile> +struct IsMemberFunctionPointerRaw < T (S::*)( + ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, ...) const volatile> +template < typename T, typename S, + typename P01 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, ...) const volatile> +template < typename T, typename S, + typename P01, typename P02 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, ...) const volatile> +template < typename T, typename S, + typename P01, typename P02, typename P03 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04> -struct IsMemberFunctionPointerRaw<T (S::*)( - P01, P02, P03, P04, ...) const volatile> +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04 > +struct IsMemberFunctionPointerRaw < T (S::*)( + P01, P02, P03, P04, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, - typename P01, typename P02, typename P03, typename P04, typename P05> -struct IsMemberFunctionPointerRaw<T (S::*)( +template < typename T, typename S, + typename P01, typename P02, typename P03, typename P04, typename P05 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - ...) const volatile> + ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, ...) const volatile> + P06, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, ...) const volatile> + P06, P07, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, ...) const volatile> + P06, P07, P08, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, - P06, P07, P08, P09, ...) const volatile> + P06, P07, P08, P09, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, - typename P06, typename P07, typename P08, typename P09, typename P10> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P06, typename P07, typename P08, typename P09, typename P10 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - ...) const volatile> + ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, ...) const volatile> + P11, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, ...) const volatile> + P11, P12, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, ...) const volatile> + P11, P12, P13, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, - P11, P12, P13, P14, ...) const volatile> + P11, P12, P13, P14, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, - typename P11, typename P12, typename P13, typename P14, typename P15> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P11, typename P12, typename P13, typename P14, typename P15 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - ...) const volatile> + ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, ...) const volatile> + P16, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, ...) const volatile> + P16, P17, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, ...) const volatile> + P16, P17, P18, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, - P16, P17, P18, P19, ...) const volatile> + P16, P17, P18, P19, ...) const volatile > {enum {result = 1};}; -template <typename T, typename S, +template < typename T, typename S, typename P01, typename P02, typename P03, typename P04, typename P05, typename P06, typename P07, typename P08, typename P09, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, - typename P16, typename P17, typename P18, typename P19, typename P20> -struct IsMemberFunctionPointerRaw<T (S::*)( + typename P16, typename P17, typename P18, typename P19, typename P20 > +struct IsMemberFunctionPointerRaw < T (S::*)( P01, P02, P03, P04, P05, P06, P07, P08, P09, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, - ...) const volatile> + ...) const volatile > {enum {result = 1};}; }// namespace Private @@ -2179,37 +2179,37 @@ public: enum { isVolatile = UnVolatile<T>::isVolatile }; enum { isReference = ReferenceTraits<UnqualifiedType>::result }; enum { isFunction = FunctionPointerTraits<typename Private::AddPointer<T>::Result >::result }; - enum { isFunctionPointer= FunctionPointerTraits< - typename ReferenceTraits<UnqualifiedType>::ReferredType >::result + enum { isFunctionPointer = FunctionPointerTraits < + typename ReferenceTraits<UnqualifiedType>::ReferredType >::result }; - enum { isMemberFunctionPointer= PToMFunctionTraits< - typename ReferenceTraits<UnqualifiedType>::ReferredType >::result + enum { isMemberFunctionPointer = PToMFunctionTraits < + typename ReferenceTraits<UnqualifiedType>::ReferredType >::result }; - enum { isMemberPointer = PToMTraits< + enum { isMemberPointer = PToMTraits < typename ReferenceTraits<UnqualifiedType>::ReferredType >::result || isMemberFunctionPointer }; - enum { isPointer = PointerTraits< + enum { isPointer = PointerTraits < typename ReferenceTraits<UnqualifiedType>::ReferredType >::result || isFunctionPointer }; enum { isStdUnsignedInt = TL::IndexOf<Private::StdUnsignedInts, UnqualifiedType>::value >= 0 || - TL::IndexOf<Private::StdUnsignedInts, - typename ReferenceTraits<UnqualifiedType>::ReferredType>::value >= 0 + TL::IndexOf < Private::StdUnsignedInts, + typename ReferenceTraits<UnqualifiedType>::ReferredType >::value >= 0 }; enum { isStdSignedInt = TL::IndexOf<Private::StdSignedInts, UnqualifiedType>::value >= 0 || - TL::IndexOf<Private::StdSignedInts, - typename ReferenceTraits<UnqualifiedType>::ReferredType>::value >= 0 + TL::IndexOf < Private::StdSignedInts, + typename ReferenceTraits<UnqualifiedType>::ReferredType >::value >= 0 }; enum { isStdIntegral = isStdUnsignedInt || isStdSignedInt || TL::IndexOf<Private::StdOtherInts, UnqualifiedType>::value >= 0 || - TL::IndexOf<Private::StdOtherInts, - typename ReferenceTraits<UnqualifiedType>::ReferredType>::value >= 0 + TL::IndexOf < Private::StdOtherInts, + typename ReferenceTraits<UnqualifiedType>::ReferredType >::value >= 0 }; enum { isStdFloat = TL::IndexOf<Private::StdFloats, UnqualifiedType>::value >= 0 || - TL::IndexOf<Private::StdFloats, - typename ReferenceTraits<UnqualifiedType>::ReferredType>::value >= 0 + TL::IndexOf < Private::StdFloats, + typename ReferenceTraits<UnqualifiedType>::ReferredType >::value >= 0 }; enum { isStdArith = isStdIntegral || isStdFloat }; enum { isStdFundamental = isStdArith || isStdFloat || Conversion<T, void>::sameType }; @@ -2221,8 +2221,8 @@ public: enum { isArith = isIntegral || isFloat }; enum { isFundamental = isStdFundamental || isArith }; - typedef typename Select<isStdArith || isPointer || isMemberPointer, T, - typename Private::AddParameterType<T>::Result>::Result + typedef typename Select < isStdArith || isPointer || isMemberPointer, T, + typename Private::AddParameterType<T>::Result >::Result ParameterType; }; } diff --git a/shared/loki/Typelist.h b/shared/loki/Typelist.h index ba18032f..e512ac83 100644 --- a/shared/loki/Typelist.h +++ b/shared/loki/Typelist.h @@ -129,7 +129,7 @@ struct TypeAt<Typelist<Head, Tail>, 0> template <class Head, class Tail, unsigned int i> struct TypeAt<Typelist<Head, Tail>, i> { - typedef typename TypeAt<Tail, i - 1>::Result Result; + typedef typename TypeAt < Tail, i - 1 >::Result Result; }; //////////////////////////////////////////////////////////////////////////////// @@ -144,8 +144,8 @@ struct TypeAt<Typelist<Head, Tail>, i> // returns the type in position 'index' in TList, or D if index is out-of-bounds //////////////////////////////////////////////////////////////////////////////// -template <class TList, unsigned int index, - typename DefaultType = NullType> +template < class TList, unsigned int index, + typename DefaultType = NullType > struct TypeAtNonStrict { typedef DefaultType Result; @@ -161,7 +161,7 @@ template <class Head, class Tail, unsigned int i, typename DefaultType> struct TypeAtNonStrict<Typelist<Head, Tail>, i, DefaultType> { typedef typename - TypeAtNonStrict<Tail, i - 1, DefaultType>::Result Result; + TypeAtNonStrict < Tail, i - 1, DefaultType >::Result Result; }; //////////////////////////////////////////////////////////////////////////////// @@ -212,7 +212,7 @@ template <> struct Append<NullType, NullType> template <class T> struct Append<NullType, T> { - typedef Typelist<T,NullType> Result; + typedef Typelist<T, NullType> Result; }; template <class Head, class Tail> @@ -224,8 +224,8 @@ struct Append<NullType, Typelist<Head, Tail> > template <class Head, class Tail, class T> struct Append<Typelist<Head, Tail>, T> { - typedef Typelist<Head, - typename Append<Tail, T>::Result> + typedef Typelist < Head, + typename Append<Tail, T>::Result > Result; }; @@ -254,8 +254,8 @@ struct Erase<Typelist<T, Tail>, T> template <class Head, class Tail, class T> // Specialization 3 struct Erase<Typelist<Head, Tail>, T> { - typedef Typelist<Head, - typename Erase<Tail, T>::Result> + typedef Typelist < Head, + typename Erase<Tail, T>::Result > Result; }; @@ -283,8 +283,8 @@ template <class Head, class Tail, class T> struct EraseAll<Typelist<Head, Tail>, T> { // Go all the way down the list removing the type - typedef Typelist<Head, - typename EraseAll<Tail, T>::Result> + typedef Typelist < Head, + typename EraseAll<Tail, T>::Result > Result; }; @@ -337,8 +337,8 @@ struct Replace<Typelist<T, Tail>, T, U> template <class Head, class Tail, class T, class U> struct Replace<Typelist<Head, Tail>, T, U> { - typedef Typelist<Head, - typename Replace<Tail, T, U>::Result> + typedef Typelist < Head, + typename Replace<Tail, T, U>::Result > Result; }; @@ -367,8 +367,8 @@ struct ReplaceAll<Typelist<T, Tail>, T, U> template <class Head, class Tail, class T, class U> struct ReplaceAll<Typelist<Head, Tail>, T, U> { - typedef Typelist<Head, - typename ReplaceAll<Tail, T, U>::Result> + typedef Typelist < Head, + typename ReplaceAll<Tail, T, U>::Result > Result; }; @@ -391,8 +391,8 @@ struct Reverse<NullType> template <class Head, class Tail> struct Reverse< Typelist<Head, Tail> > { - typedef typename Append< - typename Reverse<Tail>::Result, Head>::Result Result; + typedef typename Append < + typename Reverse<Tail>::Result, Head >::Result Result; }; //////////////////////////////////////////////////////////////////////////////// @@ -417,9 +417,9 @@ struct MostDerived<Typelist<Head, Tail>, T> private: typedef typename MostDerived<Tail, T>::Result Candidate; public: - typedef typename Select< - SuperSubclass<Candidate,Head>::value, - Head, Candidate>::Result Result; + typedef typename Select < + SuperSubclass<Candidate, Head>::value, + Head, Candidate >::Result Result; }; //////////////////////////////////////////////////////////////////////////////// @@ -444,8 +444,8 @@ struct DerivedToFront< Typelist<Head, Tail> > private: typedef typename MostDerived<Tail, Head>::Result TheMostDerived; - typedef typename Replace<Tail, - TheMostDerived, Head>::Result Temp; + typedef typename Replace < Tail, + TheMostDerived, Head >::Result Temp; typedef typename DerivedToFront<Temp>::Result L; public: typedef Typelist<TheMostDerived, L> Result; diff --git a/shared/loki/TypelistMacros.h b/shared/loki/TypelistMacros.h index 1c3c3e63..4bd34cb7 100644 --- a/shared/loki/TypelistMacros.h +++ b/shared/loki/TypelistMacros.h @@ -61,291 +61,291 @@ #define LOKI_TYPELIST_12(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) \ ::Loki::Typelist<T1, LOKI_TYPELIST_11(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12) > + T11, T12) > #define LOKI_TYPELIST_13(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) \ ::Loki::Typelist<T1, LOKI_TYPELIST_12(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13) > + T11, T12, T13) > #define LOKI_TYPELIST_14(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_13(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14) > + T11, T12, T13, T14) \ +::Loki::Typelist<T1, LOKI_TYPELIST_13(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14) > #define LOKI_TYPELIST_15(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_14(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15) > + T11, T12, T13, T14, T15) \ +::Loki::Typelist<T1, LOKI_TYPELIST_14(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15) > #define LOKI_TYPELIST_16(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_15(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16) > + T11, T12, T13, T14, T15, T16) \ +::Loki::Typelist<T1, LOKI_TYPELIST_15(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16) > #define LOKI_TYPELIST_17(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_16(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17) > + T11, T12, T13, T14, T15, T16, T17) \ +::Loki::Typelist<T1, LOKI_TYPELIST_16(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17) > #define LOKI_TYPELIST_18(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_17(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18) > + T11, T12, T13, T14, T15, T16, T17, T18) \ +::Loki::Typelist<T1, LOKI_TYPELIST_17(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18) > #define LOKI_TYPELIST_19(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_18(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19) > + T11, T12, T13, T14, T15, T16, T17, T18, T19) \ +::Loki::Typelist<T1, LOKI_TYPELIST_18(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19) > #define LOKI_TYPELIST_20(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_19(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) \ +::Loki::Typelist<T1, LOKI_TYPELIST_19(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) > #define LOKI_TYPELIST_21(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_20(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) \ +::Loki::Typelist<T1, LOKI_TYPELIST_20(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) > #define LOKI_TYPELIST_22(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_21(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) \ +::Loki::Typelist<T1, LOKI_TYPELIST_21(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) > #define LOKI_TYPELIST_23(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_22(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) \ +::Loki::Typelist<T1, LOKI_TYPELIST_22(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) > #define LOKI_TYPELIST_24(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_23(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) \ +::Loki::Typelist<T1, LOKI_TYPELIST_23(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) > #define LOKI_TYPELIST_25(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_24(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) \ +::Loki::Typelist<T1, LOKI_TYPELIST_24(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25) > #define LOKI_TYPELIST_26(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_25(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26) \ +::Loki::Typelist<T1, LOKI_TYPELIST_25(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26) > #define LOKI_TYPELIST_27(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_26(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27) \ +::Loki::Typelist<T1, LOKI_TYPELIST_26(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27) > #define LOKI_TYPELIST_28(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_27(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28) \ +::Loki::Typelist<T1, LOKI_TYPELIST_27(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28) > #define LOKI_TYPELIST_29(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_28(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29) \ +::Loki::Typelist<T1, LOKI_TYPELIST_28(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29) > #define LOKI_TYPELIST_30(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_29(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) \ +::Loki::Typelist<T1, LOKI_TYPELIST_29(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) > #define LOKI_TYPELIST_31(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_30(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) \ +::Loki::Typelist<T1, LOKI_TYPELIST_30(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) > #define LOKI_TYPELIST_32(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_31(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) \ +::Loki::Typelist<T1, LOKI_TYPELIST_31(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) > #define LOKI_TYPELIST_33(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_32(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) \ +::Loki::Typelist<T1, LOKI_TYPELIST_32(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) > #define LOKI_TYPELIST_34(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_33(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) \ +::Loki::Typelist<T1, LOKI_TYPELIST_33(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) > #define LOKI_TYPELIST_35(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_34(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35) \ +::Loki::Typelist<T1, LOKI_TYPELIST_34(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35) > #define LOKI_TYPELIST_36(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_35(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36) \ +::Loki::Typelist<T1, LOKI_TYPELIST_35(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36) > #define LOKI_TYPELIST_37(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_36(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37) \ +::Loki::Typelist<T1, LOKI_TYPELIST_36(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37) > #define LOKI_TYPELIST_38(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_37(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38) \ +::Loki::Typelist<T1, LOKI_TYPELIST_37(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38) > #define LOKI_TYPELIST_39(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_38(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39) \ +::Loki::Typelist<T1, LOKI_TYPELIST_38(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39) > #define LOKI_TYPELIST_40(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_39(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) \ +::Loki::Typelist<T1, LOKI_TYPELIST_39(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) > #define LOKI_TYPELIST_41(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_40(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) \ +::Loki::Typelist<T1, LOKI_TYPELIST_40(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) > #define LOKI_TYPELIST_42(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_41(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) \ +::Loki::Typelist<T1, LOKI_TYPELIST_41(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) > #define LOKI_TYPELIST_43(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_42(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) \ +::Loki::Typelist<T1, LOKI_TYPELIST_42(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) > #define LOKI_TYPELIST_44(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_43(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) \ +::Loki::Typelist<T1, LOKI_TYPELIST_43(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) > #define LOKI_TYPELIST_45(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_44(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45) \ +::Loki::Typelist<T1, LOKI_TYPELIST_44(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45) > #define LOKI_TYPELIST_46(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45, T46) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_45(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45, T46) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45, T46) \ +::Loki::Typelist<T1, LOKI_TYPELIST_45(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45, T46) > #define LOKI_TYPELIST_47(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45, T46, T47) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_46(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45, T46, T47) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45, T46, T47) \ +::Loki::Typelist<T1, LOKI_TYPELIST_46(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45, T46, T47) > #define LOKI_TYPELIST_48(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45, T46, T47, T48) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_47(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45, T46, T47, T48) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45, T46, T47, T48) \ +::Loki::Typelist<T1, LOKI_TYPELIST_47(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45, T46, T47, T48) > #define LOKI_TYPELIST_49(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45, T46, T47, T48, T49) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_48(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45, T46, T47, T48, T49) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45, T46, T47, T48, T49) \ +::Loki::Typelist<T1, LOKI_TYPELIST_48(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45, T46, T47, T48, T49) > #define LOKI_TYPELIST_50(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) \ - ::Loki::Typelist<T1, LOKI_TYPELIST_49(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ - T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ - T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ - T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ - T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) > + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) \ +::Loki::Typelist<T1, LOKI_TYPELIST_49(T2, T3, T4, T5, T6, T7, T8, T9, T10, \ + T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \ + T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \ + T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \ + T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) > #endif //LOKI_DISABLE_TYPELIST_MACROS diff --git a/shared/loki/Visitor.h b/shared/loki/Visitor.h index f6b0ad81..85b8acd2 100644 --- a/shared/loki/Visitor.h +++ b/shared/loki/Visitor.h @@ -249,7 +249,7 @@ typename R = void, > class BaseVisitable; -template<typename R,template <typename, class> class CatchAll> +template<typename R, template <typename, class> class CatchAll> class BaseVisitable<R, CatchAll, false> { public: @@ -262,7 +262,7 @@ protected: // give access only to the hierarchy static ReturnType AcceptImpl(T& visited, BaseVisitor& guest) { // Apply the Acyclic Visitor - if (Visitor<T,R>* p = dynamic_cast<Visitor<T,R>*>(&guest)) + if (Visitor<T, R>* p = dynamic_cast<Visitor<T, R>*>(&guest)) { return p->Visit(visited); } @@ -270,7 +270,7 @@ protected: // give access only to the hierarchy } }; -template<typename R,template <typename, class> class CatchAll> +template<typename R, template <typename, class> class CatchAll> class BaseVisitable<R, CatchAll, true> { public: @@ -283,7 +283,7 @@ protected: // give access only to the hierarchy static ReturnType AcceptImpl(const T& visited, BaseVisitor& guest) { // Apply the Acyclic Visitor - if (Visitor<T,R,true>* p = dynamic_cast<Visitor<T,R,true>*>(&guest)) + if (Visitor<T, R, true>* p = dynamic_cast<Visitor<T, R, true>*>(&guest)) { return p->Visit(visited); } |