// file : brep/page -*- C++ -*- // copyright : Copyright (c) 2014-2015 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file #ifndef BREP_PAGE #define BREP_PAGE #include #include // size_t #include #include #include namespace brep { // Page common building blocks. // // A element default style. // struct A_STYLE { void operator() (xml::serializer& s) const; }; // Generates paging element. // class PAGER { public: using get_url_type = std::function; PAGER (std::size_t current_page, std::size_t item_count, std::size_t item_per_page, std::size_t page_number_count, get_url_type get_url); void operator() (xml::serializer& s) const; private: std::size_t current_page_; std::size_t item_count_; std::size_t item_per_page_; std::size_t page_number_count_; get_url_type get_url_; }; // PAGER element default style. // struct PAGER_STYLE { void operator() (xml::serializer& s) const; }; // Generates package tags element. // class TAGS { public: TAGS (const strings& ts): tags_ (ts) {} void operator() (xml::serializer& s) const; private: const strings& tags_; }; // Generates package version license alternatives element. // class LICENSES { public: LICENSES (const license_alternatives& la) : license_alternatives_ (la) {} void operator() (xml::serializer& s) const; private: const license_alternatives& license_alternatives_; }; // Generates package version priority element. // class PRIORITY { public: PRIORITY (const priority& pr): priority_ (pr) {} void operator() (xml::serializer& s) const; private: const priority& priority_; }; } #endif // BREP_PAGE