diff options
| author | jacob1 <jfu614@gmail.com> | 2012-09-04 00:09:53 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-06 23:52:56 (GMT) |
| commit | f8f70a3f770b6cbc1e9c182572317c0968af718b (patch) | |
| tree | 03e94654817ce2c944bcc75f484313331e2daf9d /src/cajun/elements.cpp | |
| parent | 58fa3dd539ad0ee7ebb44ec68515bdc22956c095 (diff) | |
| download | powder-f8f70a3f770b6cbc1e9c182572317c0968af718b.zip powder-f8f70a3f770b6cbc1e9c182572317c0968af718b.tar.gz | |
Visual studio compatibility
This removes some inlines when using visual studio to compile, uisng TPT_NO_INLINE. It also fixes many other problems visual studio has with the code
Diffstat (limited to 'src/cajun/elements.cpp')
| -rw-r--r-- | src/cajun/elements.cpp | 124 |
1 files changed, 62 insertions, 62 deletions
diff --git a/src/cajun/elements.cpp b/src/cajun/elements.cpp index a913f8a..83602f1 100644 --- a/src/cajun/elements.cpp +++ b/src/cajun/elements.cpp @@ -44,7 +44,7 @@ namespace json { -inline Exception::Exception(const std::string& sMessage) : +TPT_NO_INLINE Exception::Exception(const std::string& sMessage) : std::runtime_error(sMessage) {} @@ -129,32 +129,32 @@ public: -inline UnknownElement::UnknownElement() : m_pImp( new Imp_T<Null>( Null() ) ) {} -inline UnknownElement::UnknownElement(const UnknownElement& unknown) : m_pImp( unknown.m_pImp->Clone()) {} -inline UnknownElement::UnknownElement(const Object& object) : m_pImp( new Imp_T<Object>(object) ) {} -inline UnknownElement::UnknownElement(const Array& array) : m_pImp( new Imp_T<Array>(array) ) {} -inline UnknownElement::UnknownElement(const Number& number) : m_pImp( new Imp_T<Number>(number) ) {} -inline UnknownElement::UnknownElement(const Boolean& boolean) : m_pImp( new Imp_T<Boolean>(boolean) ) {} -inline UnknownElement::UnknownElement(const String& string) : m_pImp( new Imp_T<String>(string) ) {} -inline UnknownElement::UnknownElement(const Null& null) : m_pImp( new Imp_T<Null>(null) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement() : m_pImp( new Imp_T<Null>( Null() ) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const UnknownElement& unknown) : m_pImp( unknown.m_pImp->Clone()) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const Object& object) : m_pImp( new Imp_T<Object>(object) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const Array& array) : m_pImp( new Imp_T<Array>(array) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const Number& number) : m_pImp( new Imp_T<Number>(number) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const Boolean& boolean) : m_pImp( new Imp_T<Boolean>(boolean) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const String& string) : m_pImp( new Imp_T<String>(string) ) {} +TPT_NO_INLINE UnknownElement::UnknownElement(const Null& null) : m_pImp( new Imp_T<Null>(null) ) {} -inline UnknownElement::~UnknownElement() { delete m_pImp; } +TPT_NO_INLINE UnknownElement::~UnknownElement() { delete m_pImp; } -inline UnknownElement::operator const Object& () const { return CastTo<Object>(); } -inline UnknownElement::operator const Array& () const { return CastTo<Array>(); } -inline UnknownElement::operator const Number& () const { return CastTo<Number>(); } -inline UnknownElement::operator const Boolean& () const { return CastTo<Boolean>(); } -inline UnknownElement::operator const String& () const { return CastTo<String>(); } -inline UnknownElement::operator const Null& () const { return CastTo<Null>(); } +TPT_NO_INLINE UnknownElement::operator const Object& () const { return CastTo<Object>(); } +TPT_NO_INLINE UnknownElement::operator const Array& () const { return CastTo<Array>(); } +TPT_NO_INLINE UnknownElement::operator const Number& () const { return CastTo<Number>(); } +TPT_NO_INLINE UnknownElement::operator const Boolean& () const { return CastTo<Boolean>(); } +TPT_NO_INLINE UnknownElement::operator const String& () const { return CastTo<String>(); } +TPT_NO_INLINE UnknownElement::operator const Null& () const { return CastTo<Null>(); } -inline UnknownElement::operator Object& () { return ConvertTo<Object>(); } -inline UnknownElement::operator Array& () { return ConvertTo<Array>(); } -inline UnknownElement::operator Number& () { return ConvertTo<Number>(); } -inline UnknownElement::operator Boolean& () { return ConvertTo<Boolean>(); } -inline UnknownElement::operator String& () { return ConvertTo<String>(); } -inline UnknownElement::operator Null& () { return ConvertTo<Null>(); } +TPT_NO_INLINE UnknownElement::operator Object& () { return ConvertTo<Object>(); } +TPT_NO_INLINE UnknownElement::operator Array& () { return ConvertTo<Array>(); } +TPT_NO_INLINE UnknownElement::operator Number& () { return ConvertTo<Number>(); } +TPT_NO_INLINE UnknownElement::operator Boolean& () { return ConvertTo<Boolean>(); } +TPT_NO_INLINE UnknownElement::operator String& () { return ConvertTo<String>(); } +TPT_NO_INLINE UnknownElement::operator Null& () { return ConvertTo<Null>(); } -inline UnknownElement& UnknownElement::operator = (const UnknownElement& unknown) +TPT_NO_INLINE UnknownElement& UnknownElement::operator = (const UnknownElement& unknown) { // always check for this if (&unknown != this) @@ -170,28 +170,28 @@ inline UnknownElement& UnknownElement::operator = (const UnknownElement& unknown return *this; } -inline UnknownElement& UnknownElement::operator[] (const std::string& key) +TPT_NO_INLINE UnknownElement& UnknownElement::operator[] (const std::string& key) { // the people want an object. make us one if we aren't already Object& object = ConvertTo<Object>(); return object[key]; } -inline const UnknownElement& UnknownElement::operator[] (const std::string& key) const +TPT_NO_INLINE const UnknownElement& UnknownElement::operator[] (const std::string& key) const { // throws if we aren't an object const Object& object = CastTo<Object>(); return object[key]; } -inline UnknownElement& UnknownElement::operator[] (size_t index) +TPT_NO_INLINE UnknownElement& UnknownElement::operator[] (size_t index) { // the people want an array. make us one if we aren't already Array& array = ConvertTo<Array>(); return array[index]; } -inline const UnknownElement& UnknownElement::operator[] (size_t index) const +TPT_NO_INLINE const UnknownElement& UnknownElement::operator[] (size_t index) const { // throws if we aren't an array const Array& array = CastTo<Array>(); @@ -227,11 +227,11 @@ ElementTypeT& UnknownElement::ConvertTo() } -inline void UnknownElement::Accept(ConstVisitor& visitor) const { m_pImp->Accept(visitor); } -inline void UnknownElement::Accept(Visitor& visitor) { m_pImp->Accept(visitor); } +TPT_NO_INLINE void UnknownElement::Accept(ConstVisitor& visitor) const { m_pImp->Accept(visitor); } +TPT_NO_INLINE void UnknownElement::Accept(Visitor& visitor) { m_pImp->Accept(visitor); } -inline bool UnknownElement::operator == (const UnknownElement& element) const +TPT_NO_INLINE bool UnknownElement::operator == (const UnknownElement& element) const { return m_pImp->Compare(*element.m_pImp); } @@ -242,10 +242,10 @@ inline bool UnknownElement::operator == (const UnknownElement& element) const // Object members -inline Object::Member::Member(const std::string& nameIn, const UnknownElement& elementIn) : +TPT_NO_INLINE Object::Member::Member(const std::string& nameIn, const UnknownElement& elementIn) : name(nameIn), element(elementIn) {} -inline bool Object::Member::operator == (const Member& member) const +TPT_NO_INLINE bool Object::Member::operator == (const Member& member) const { return name == member.name && element == member.element; @@ -265,30 +265,30 @@ private: -inline Object::iterator Object::Begin() { return m_Members.begin(); } -inline Object::iterator Object::End() { return m_Members.end(); } -inline Object::const_iterator Object::Begin() const { return m_Members.begin(); } -inline Object::const_iterator Object::End() const { return m_Members.end(); } +TPT_NO_INLINE Object::iterator Object::Begin() { return m_Members.begin(); } +TPT_NO_INLINE Object::iterator Object::End() { return m_Members.end(); } +TPT_NO_INLINE Object::const_iterator Object::Begin() const { return m_Members.begin(); } +TPT_NO_INLINE Object::const_iterator Object::End() const { return m_Members.end(); } -inline size_t Object::Size() const { return m_Members.size(); } -inline bool Object::Empty() const { return m_Members.empty(); } +TPT_NO_INLINE size_t Object::Size() const { return m_Members.size(); } +TPT_NO_INLINE bool Object::Empty() const { return m_Members.empty(); } -inline Object::iterator Object::Find(const std::string& name) +TPT_NO_INLINE Object::iterator Object::Find(const std::string& name) { return std::find_if(m_Members.begin(), m_Members.end(), Finder(name)); } -inline Object::const_iterator Object::Find(const std::string& name) const +TPT_NO_INLINE Object::const_iterator Object::Find(const std::string& name) const { return std::find_if(m_Members.begin(), m_Members.end(), Finder(name)); } -inline Object::iterator Object::Insert(const Member& member) +TPT_NO_INLINE Object::iterator Object::Insert(const Member& member) { return Insert(member, End()); } -inline Object::iterator Object::Insert(const Member& member, iterator itWhere) +TPT_NO_INLINE Object::iterator Object::Insert(const Member& member, iterator itWhere) { iterator it = Find(member.name); if (it != m_Members.end()) @@ -298,12 +298,12 @@ inline Object::iterator Object::Insert(const Member& member, iterator itWhere) return it; } -inline Object::iterator Object::Erase(iterator itWhere) +TPT_NO_INLINE Object::iterator Object::Erase(iterator itWhere) { return m_Members.erase(itWhere); } -inline UnknownElement& Object::operator [](const std::string& name) +TPT_NO_INLINE UnknownElement& Object::operator [](const std::string& name) { iterator it = Find(name); @@ -315,7 +315,7 @@ inline UnknownElement& Object::operator [](const std::string& name) return it->element; } -inline const UnknownElement& Object::operator [](const std::string& name) const +TPT_NO_INLINE const UnknownElement& Object::operator [](const std::string& name) const { const_iterator it = Find(name); if (it == End()) @@ -323,12 +323,12 @@ inline const UnknownElement& Object::operator [](const std::string& name) const return it->element; } -inline void Object::Clear() +TPT_NO_INLINE void Object::Clear() { m_Members.clear(); } -inline bool Object::operator == (const Object& object) const +TPT_NO_INLINE bool Object::operator == (const Object& object) const { return m_Members == object.m_Members; } @@ -337,35 +337,35 @@ inline bool Object::operator == (const Object& object) const ///////////////// // Array members -inline Array::iterator Array::Begin() { return m_Elements.begin(); } -inline Array::iterator Array::End() { return m_Elements.end(); } -inline Array::const_iterator Array::Begin() const { return m_Elements.begin(); } -inline Array::const_iterator Array::End() const { return m_Elements.end(); } +TPT_NO_INLINE Array::iterator Array::Begin() { return m_Elements.begin(); } +TPT_NO_INLINE Array::iterator Array::End() { return m_Elements.end(); } +TPT_NO_INLINE Array::const_iterator Array::Begin() const { return m_Elements.begin(); } +TPT_NO_INLINE Array::const_iterator Array::End() const { return m_Elements.end(); } -inline Array::iterator Array::Insert(const UnknownElement& element, iterator itWhere) +TPT_NO_INLINE Array::iterator Array::Insert(const UnknownElement& element, iterator itWhere) { return m_Elements.insert(itWhere, element); } -inline Array::iterator Array::Insert(const UnknownElement& element) +TPT_NO_INLINE Array::iterator Array::Insert(const UnknownElement& element) { return Insert(element, End()); } -inline Array::iterator Array::Erase(iterator itWhere) +TPT_NO_INLINE Array::iterator Array::Erase(iterator itWhere) { return m_Elements.erase(itWhere); } -inline void Array::Resize(size_t newSize) +TPT_NO_INLINE void Array::Resize(size_t newSize) { m_Elements.resize(newSize); } -inline size_t Array::Size() const { return m_Elements.size(); } -inline bool Array::Empty() const { return m_Elements.empty(); } +TPT_NO_INLINE size_t Array::Size() const { return m_Elements.size(); } +TPT_NO_INLINE bool Array::Empty() const { return m_Elements.empty(); } -inline UnknownElement& Array::operator[] (size_t index) +TPT_NO_INLINE UnknownElement& Array::operator[] (size_t index) { size_t nMinSize = index + 1; // zero indexed if (m_Elements.size() < nMinSize) @@ -373,18 +373,18 @@ inline UnknownElement& Array::operator[] (size_t index) return m_Elements[index]; } -inline const UnknownElement& Array::operator[] (size_t index) const +TPT_NO_INLINE const UnknownElement& Array::operator[] (size_t index) const { if (index >= m_Elements.size()) throw Exception("Array out of bounds"); return m_Elements[index]; } -inline void Array::Clear() { +TPT_NO_INLINE void Array::Clear() { m_Elements.clear(); } -inline bool Array::operator == (const Array& array) const +TPT_NO_INLINE bool Array::operator == (const Array& array) const { return m_Elements == array.m_Elements; } @@ -393,7 +393,7 @@ inline bool Array::operator == (const Array& array) const ////////////////// // Null members -inline bool Null::operator == (const Null& trivial) const +TPT_NO_INLINE bool Null::operator == (const Null& trivial) const { return true; } |
