Skip to content
Snippets Groups Projects
Commit 026db69f authored by Jan Trávníček's avatar Jan Trávníček
Browse files

optimize includes of objects

parent 07b474f8
No related branches found
No related tags found
No related merge requests found
......@@ -33,6 +33,8 @@
#include "primitive/String.h"
#include "primitive/Character.h"
 
#include "object/Void.h"
namespace alib {
 
const label::LabelFromXMLParser FromXMLParsers::labelParser;
......
......@@ -8,20 +8,28 @@
#ifndef OBJECT_H_
#define OBJECT_H_
 
#include "ObjectBase.h"
#include "../common/wrapper.hpp"
 
namespace alib {
 
class ObjectBase;
/**
* Wrapper around object.
*/
typedef alib::wrapper<ObjectBase> Object;
class Object : public alib::wrapper<ObjectBase> {
public:
explicit Object(ObjectBase* data) : alib::wrapper<ObjectBase>(data) {
}
 
} /* namespace alib */
explicit Object(const ObjectBase& data) : alib::wrapper<ObjectBase>(data.clone()) {
}
 
#include "ObjectBase.h"
explicit Object(ObjectBase&& data) : alib::wrapper<ObjectBase>(std::move(data).plunder()) {
}
};
} /* namespace alib */
 
namespace std {
 
......
......@@ -13,11 +13,9 @@
#include <memory>
#include "../common/base.hpp"
 
namespace alib {
 
class Void;
 
}
#include "ObjectFeatures.h"
 
namespace exception {
 
......@@ -121,8 +119,6 @@ namespace alib {
 
// ----------------------------------------------------------------------------------------------------------------------
 
class ObjectBase;
typedef std::tuple< tree::RankedTree, tree::RankedPattern, tree::PrefixRankedTree, tree::PrefixRankedBarTree, tree::PrefixRankedPattern, tree::PrefixRankedBarPattern, tree::UnrankedTree, tree::UnrankedPattern
> TreeTypes;
 
......@@ -174,6 +170,8 @@ typedef types_merger<TreeTypes, PrimitiveTypes, ContainerTypes, SymbolTypes, Str
 
// ----------------------------------------------------------------------------------------------------------------------
 
class ObjectBase;
template<typename T>
class acceptor_base_helper {
};
......
/*
* ObjectFeatures.h
*
* Created on: Jun 19, 2014
* Author: Jan Travnicek
*/
#ifndef OBJECT_FEATURES_H_
#define OBJECT_FEATURES_H_
namespace alib {
enum class FEATURES {
VOID
};
class Object;
class Void;
} /* namespace alib */
#endif /* OBJECT_FEATURES_H_ */
......@@ -6,11 +6,11 @@
*/
 
#include "ObjectFromXMLParser.h"
#include "../sax/ParserException.h"
#include "../XmlApi.hpp"
#include <iostream>
#include "Object.h"
#include "Void.h"
 
namespace alib {
 
......
......@@ -10,9 +10,8 @@
 
#include "../sax/FromXMLParserHelper.h"
#include <set>
#include "Object.h"
#include "ObjectFeatures.h"
#include "../sax/Token.h"
#include "../label/Label.h"
 
namespace alib {
 
......
......@@ -9,6 +9,9 @@
 
#include "../XmlApi.hpp"
 
#include "Object.h"
#include "Void.h"
namespace alib {
 
void ObjectToXMLComposer::compose(std::deque<sax::Token>& out, const Object& object) const {
......
......@@ -10,9 +10,7 @@
 
#include <deque>
#include "Object.h"
#include "Void.h"
#include "../sax/Token.h"
#include "../label/Label.h"
 
namespace alib {
 
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment