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.