Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
ObjectsList.cpp 1.59 KiB
/*
 * List.cpp
 *
 * Created on: Apr 1, 2013
 * Author: Jan Travnicek
 */

#include "ObjectsList.h"

#include "Container.h"
#include <object/Object.h>
#include <sstream>

namespace container {

ObjectsList::ObjectsList ( std::list < alib::Object > list ) : std::list < alib::Object > ( std::move ( list ) ) {
}

ObjectsList::ObjectsList ( ) : std::list < alib::Object > ( ) {
}

ContainerBase * ObjectsList::clone ( ) const {
	return new ObjectsList ( * this );
}

ContainerBase * ObjectsList::plunder ( ) && {
	return new ObjectsList ( std::move ( * this ) );
}

int ObjectsList::compare ( const ObjectsList & other ) const {
	std::compare < std::list < alib::Object > > comp;

	return comp ( static_cast < const std::list < alib::Object > > ( * this ), static_cast < const std::list < alib::Object > > ( other ) );
}

void ObjectsList::operator >>( std::ostream & os ) const {
	os << "(ObjectsList " << static_cast < const std::list < alib::Object > > ( * this ) << ")";
}

ObjectsList::operator std::string ( ) const {
	std::stringstream ss;
	ss << * this;
	return std::move ( ss ).str ( );
}

ObjectsList ObjectsList::parse ( std::deque < sax::Token >::iterator & input ) {
	return ObjectsList ( parseRaw < alib::Object > ( input ) );
}

void ObjectsList::compose ( std::deque < sax::Token > & out ) const {
	compose ( out, * this );
}

} /* namespace container */

namespace alib {

auto objectsListParserRegister = xmlApi < container::Container >::ParserRegister < container::ObjectsList > ();
auto objectsListParserRegister2 = xmlApi < alib::Object >::ParserRegister < container::ObjectsList > ();

} /* namespace alib */