diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2009-09-14 14:31:38 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2009-09-14 14:31:38 (GMT) |
commit | 6a9a958591e91d416ec330777f9692082961ff04 (patch) | |
tree | fb5100568a43272b631d0c867d3f5ceee77c7ea5 /Source/cmDependsJavaParserHelper.h | |
parent | da29eb892bff37d6f338d4fc154bb4df4a04244c (diff) | |
download | CMake-6a9a958591e91d416ec330777f9692082961ff04.zip CMake-6a9a958591e91d416ec330777f9692082961ff04.tar.gz CMake-6a9a958591e91d416ec330777f9692082961ff04.tar.bz2 |
Fix open solaris build issue with concept checking that breaks std vector for a class of itself. Bug #9523.
Diffstat (limited to 'Source/cmDependsJavaParserHelper.h')
-rw-r--r-- | Source/cmDependsJavaParserHelper.h | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/Source/cmDependsJavaParserHelper.h b/Source/cmDependsJavaParserHelper.h index 171518e..551e29b 100644 --- a/Source/cmDependsJavaParserHelper.h +++ b/Source/cmDependsJavaParserHelper.h @@ -70,14 +70,37 @@ public: private: class CurrentClass - { + { public: cmStdString Name; - std::vector<CurrentClass> NestedClasses; - CurrentClass() {} + std::vector<CurrentClass>* NestedClasses; + CurrentClass() + { + this->NestedClasses = new std::vector<CurrentClass>; + } + ~CurrentClass() + { + delete this->NestedClasses; + } + CurrentClass& operator=(CurrentClass const& c) + { + this->NestedClasses->clear(); + this->Name = c.Name; + std::copy( + c.NestedClasses->begin(), + c.NestedClasses->end(), + std::back_inserter( + *this->NestedClasses) + ); + return *this; + } + CurrentClass(CurrentClass const& c) + { + (*this) = c; + } void AddFileNamesForPrinting(std::vector<cmStdString> *files, const char* prefix, const char* sep); - }; + }; cmStdString CurrentPackage; cmStdString::size_type InputBufferPos; cmStdString InputBuffer; |