Sha256: 61ef4ea764ee5f740e173bf200432fc3d507f632cdabe8d71c9121689e80d575

Contents?: true

Size: 970 Bytes

Versions: 5

Compression:

Stored size: 970 Bytes

Contents

// -*- c++ -*-
#pragma once
#ifndef __REFLEX_SELECTOR_H__
#define __REFLEX_SELECTOR_H__


#include <set>
#include <xot/pimpl.h>
#include <xot/string.h>
#include <reflex/defs.h>


namespace Reflex
{


	class Selector
	{

		typedef Selector This;

		public:

			typedef std::set<String> TagSet;

			typedef TagSet::      iterator       iterator;

			typedef TagSet::const_iterator const_iterator;

			Selector (const char* name = NULL);

			void    set_name (const char* name);

			const char* name () const;

			void    add_tag (const char* tag);

			void remove_tag (const char* tag);

			      iterator begin ();

			const_iterator begin () const;

			      iterator end ();

			const_iterator end () const;

			bool match (const This& obj) const;

			friend bool operator == (const This& lhs, const This& rhs);

			friend bool operator != (const This& lhs, const This& rhs);

			struct Data;

			Xot::PImpl<Data, true> self;

	};// Selector


}// Reflex


#endif//EOH

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
reflexion-0.1.10 include/reflex/selector.h
reflexion-0.1.9.1 include/reflex/selector.h
reflexion-0.1.9 include/reflex/selector.h
reflexion-0.1.8 include/reflex/selector.h
reflexion-0.1.7 include/reflex/selector.h