Provides pretty-printing box operations. More...
#include <iostream>#include <string>#include <memory>
Go to the source code of this file.
Classes | |
| struct | aurelia::virtual_box |
| Abstract virtual class for box elements. More... | |
| struct | aurelia::box< ExactType > |
| Abstract static class for box elements. More... | |
| struct | aurelia::string_box |
| Wrap a string as a pretty printing box. More... | |
| struct | aurelia::h_box |
| Horizontal direction tag. More... | |
| struct | aurelia::v_box |
| Vertical direction tag. More... | |
| struct | aurelia::hv_box |
| Horizontal or vertical direction tag. More... | |
| struct | aurelia::virtual_boxList |
| struct | aurelia::box_list< ExactType > |
| Static abstract class for lists of pretty printing boxes. More... | |
| struct | aurelia::box_list_end |
| Represents and empty list of boxes. More... | |
| struct | aurelia::box_list_cons< Head, Tail > |
| List of boxes. More... | |
| struct | aurelia::any_box_list |
| Box list wrapping a virtual box list. More... | |
| struct | aurelia::container_box< Direction, VS, HS, IS, List > |
| A container box with directions. More... | |
| struct | aurelia::any_box |
| Box wrapping a virtual box. More... | |
| struct | aurelia::space_conf< VS, HS, IS > |
| Tuple for space configuration. More... | |
| struct | aurelia::max< a, b > |
| Gets a maximum value from two constants at compile-time. More... | |
| struct | aurelia::box_artifact< Direction, VS, HS, IS > |
| Provides building operation for boxes. More... | |
| struct | aurelia::print_space< HS > |
| Utility to print out a non null constant of spaces. More... | |
| struct | aurelia::print_space< 0U > |
| Utility to print out a null number of spaces. More... | |
Namespaces | |
| namespace | aurelia |
Main namespace for Aurelia. | |
Typedefs | |
| typedef string_box | aurelia::S |
| Alias for building string boxes. | |
Enumerations | |
| enum | aurelia::Dir { HDir, VDir, HVDir } |
Directions as run-time values. | |
Functions | |
| template<typename ExactBox > | |
| box_list_cons< ExactBox, box_list_end > | aurelia::append (const box_list_end &, const box< ExactBox > &b) |
| Appends a box at the end of a list. | |
| template<typename B , typename Tail , typename ExactBox > | |
| box_list_cons< B, decltype(append(std::declval < Tail >), std::declval < ExactBox >)))> | aurelia::append (const box_list_cons< B, Tail > &l, const box< ExactBox > &b) |
| Appends a box at the end of a list. | |
| template<typename ExactBox , typename ExactList > | |
| aurelia::decltype (append(std::declval< ExactList >(), std::declval< ExactBox >())) operator | |
| Builds a list from boxes. | |
|
ExactBox2 box_list_cons < ExactBox, box_list_cons < ExactBox2, box_list_end > > | aurelia::operator, (const box< ExactBox > &s, const box< ExactBox2 > &t) |
| template<unsigned VS> | |
| space_conf< VS, 0, 0 > | aurelia::Vs () |
| Creates a space configuration with vertical specification. | |
| template<unsigned HS> | |
| space_conf< 0, HS, 0 > | aurelia::Hs () |
| Creates a space configuration with horizontal specification. | |
| template<unsigned IS> | |
| space_conf< 0, 0, IS > | aurelia::Is () |
| Creates a space configuration with identation specification. | |
| template<unsigned VS1, unsigned HS1, unsigned IS1, unsigned VS2, unsigned HS2, unsigned IS2> | |
| space_conf< max< VS1, VS2 > ::ret, max< HS1, HS2 >::ret, max< IS1, IS2 >::ret > | aurelia::operator, (const space_conf< VS1, HS1, IS1 > &, const space_conf< VS2, HS2, IS2 > &) |
| Merges two configurations. | |
| template<unsigned VS, unsigned HS, unsigned IS> | |
| box_artifact< h_box, VS, HS, IS > | aurelia::H (const space_conf< VS, HS, IS > &) |
| Returns a builder for a horizontal box. | |
| box_artifact< h_box, 0, 1, 0 > | aurelia::H () |
| Returns a builder for a horizontal box. | |
| template<unsigned VS, unsigned HS, unsigned IS> | |
| box_artifact< v_box, VS, HS, IS > | aurelia::V (const space_conf< VS, HS, IS > &) |
| Returns a builder for a vertical box. | |
| box_artifact< v_box, 0, 0, 0 > | aurelia::V () |
| Returns a builder for a vertical box. | |
| template<unsigned VS, unsigned HS, unsigned IS> | |
| box_artifact< hv_box, VS, HS, IS > | aurelia::HV (const space_conf< VS, HS, IS > &) |
| Returns a builder for a horizontal/vertical box. | |
| box_artifact< hv_box, 0, 1, 0 > | aurelia::HV () |
| Returns a builder for a horizontal/vertical box. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS, typename Head , typename Head2 , typename Tail > | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const v_box &, const space_conf< VS, HS, IS > &, const box_list_cons< Head, box_list_cons< Head2, Tail > > &bl) |
| Prints out vertically a list of boxes. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS, typename Head > | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const v_box &, const space_conf< VS, HS, IS > &, const box_list_cons< Head, box_list_end > &bl) |
| Prints out vertically a singleton of box. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS> | |
| unsigned | aurelia::box_to_text (Stream &, unsigned pos, const v_box &, const space_conf< VS, HS, IS > &, const box_list_end &) |
| Prints out vertically an empty list of boxes. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS, typename Head , typename Head2 , typename Tail > | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const h_box &, const space_conf< VS, HS, IS > &, const box_list_cons< Head, box_list_cons< Head2, Tail > > &bl) |
| Prints out horizontally a list of boxes. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS, typename Head > | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const h_box &, const space_conf< VS, HS, IS > &, const box_list_cons< Head, box_list_end > &bl) |
| Prints out horizontally a singleton of box. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS> | |
| unsigned | aurelia::box_to_text (Stream &, unsigned pos, const h_box &, const space_conf< VS, HS, IS > &, const box_list_end &) |
| Prints out horizontally an empty list of boxes. | |
| template<typename Stream > | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const string_box &str) |
| Prints out a string_box. | |
| template<typename Stream > | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const any_box &b) |
| Prints out an any_box. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS, typename Head , typename Tail > | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const container_box< v_box, VS, HS, IS, box_list_cons< Head, Tail > > &b) |
| Prints out a vertical box. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS> | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const container_box< v_box, VS, HS, IS, box_list_end > &) |
| Prints out an empty vertical box. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS, typename Head , typename Tail > | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const container_box< h_box, VS, HS, IS, box_list_cons< Head, Tail > > &b) |
| Prints out a horizontal box. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS> | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const container_box< h_box, VS, HS, IS, any_box_list > &b) |
| Prints out a horizontal box. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS> | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const container_box< v_box, VS, HS, IS, any_box_list > &b) |
| Prints out a vertical box. | |
| template<typename Stream , unsigned VS, unsigned HS, unsigned IS> | |
| unsigned | aurelia::box_to_text (Stream &s, unsigned pos, const container_box< h_box, VS, HS, IS, box_list_end > &) |
| Prints out an empty horizontal box. | |
| template<typename Stream , typename ExactBox > | |
| Stream & | aurelia::operator<< (Stream &s, const box< ExactBox > &b) |
| Prints out a pretty-print box. | |
Variables | |
| const box_list< ExactList > & | aurelia::l |
Provides pretty-printing box operations.