# FBB::Align(3bobcat)

## Table Element Alignment
(libbobcat-dev_6.02.02)

## 2005-2022

## NAME

FBB::Align - Class to align elements in Table objects

## SYNOPSIS

#include <bobcat/align>

Linking option: -lbobcat

## DESCRIPTION

This class defines objects used by the class FBB::Table to define the alignment of its columns and/or elements.

## NAMESPACE

FBB
All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.

## INHERITS FROM

-

## ADDITIONAL TYPEDEF

The type FBB::Manipulator can be used as a shorthand for

            std::ios_base &(*)(std::ios_base &)

which is the prototype of standard io-manipulators like std::left.

## MANIPULATOR

The following manipulator (not part of the FBB::Align, class but defined in the FBB namespace) can be specified as Align-object constructor arguments and can be stored in Align objects through, e.g., setManip:

- FBB::center:

## CONSTRUCTORS

- Align(Manipulator manip):
  This constructor is used to specify an alignment which, when inserted into a Table, is used for all the table's elements. This general alignment type may be modified of specific columns and/or elements using the following constructors;

- Align(size_t column = 0, Manipulator manip = std::right):
  This constructor defines how the content of column `column' of a Table object are aligned. When used, it is the responsibility of the programmer to ensure that the table's column exists (i.e., the Table must have a column index column);

- Align(int row, size_t column, Manipulator manip):
  This constructor defines the alignment of element [row][column] of a Table object. Before using this constructor table element [row][column] must have been defined. E.g.,

          Table tab{  3, Table::ROWWISE };
          tab << "xx00x " << " x01x " << " x02xx" <<
                  10 << 11 << 12;

          tab << Align(1, 1, FBB::center);

Copy and move constructors (and assignment operators) are available.

## OVERLOADED OPERATORS

- operator size_t() const:
  Returns the value representing a requested width of an element in a Table object.

## MEMBER FUNCTIONS

- size_t col() const:
  Returns the object's column index;
- bool hasRow() const:
  Returns true if the object's
  member returns a sensible value;
- size_t row() const:
  Returns the object's row index;
- Manipulator manip() const:
  Returns the Manipulator stored in the object;
- void setWidth(size_t width):
  Defines the field-width of element(s) of a Table object to which the Align object refers;
- void setManip(Manipulator manip):
  Changes the object's currently stored Manipulator.

## EXAMPLE

See the table(3bobcat) man-page.

## FILES

bobcat/align - defines the class interface

## SEE ALSO

bobcat(7), csvtable(3bobcat), manipulator(3bobcat), table(3bobcat)

## BUGS

None Reported.

## BOBCAT PROJECT FILES

- https://fbb-git.gitlab.io/bobcat/: gitlab project page;
- bobcat_6.02.02-x.dsc: detached signature;
- bobcat_6.02.02-x.tar.gz: source archive;
- bobcat_6.02.02-x_i386.changes: change log;
- libbobcat1_6.02.02-x_*.deb: debian package containing the libraries;
- libbobcat1-dev_6.02.02-x_*.deb: debian package containing the libraries, headers and manual pages;

## BOBCAT

Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.

## COPYRIGHT

This is free software, distributed under the terms of the GNU General Public License (GPL).

## AUTHOR

Frank B. Brokken (f.b.brokken@rug.nl).