---
name: "indent"
section: "3bobcat"
platform: "linux"
package: "libbobcat-dev"
version: "6.07.01-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/indent/3bobcat"
---

# indent(3bobcat)

Configurable text indentation

## NAME

FBB::Indent - Configurable text indentation

## SYNOPSIS

**#include \<bobcat/indent\>**\

## DESCRIPTION

**FBB::Indent** and its various manipulators offer text-indentation. Text inserted into streams is indented over a fully configurable amount using a set of manipulators and (static) member functions.

## NAMESPACE

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

## INHERITS FROM

\-

## STATIC MEMBER FUNCTIONS

- o

  **void clear()**:\
   Resets the indentation level to zero. The **indent** manipulator will have no visible effect after calling this member.

- o

  **void dec()**:\
   Reduces the indentation level by the current increment (4 by default). The indentation level is never reduces to a negative value.

- o

  **void inc()**:\
   Increments the indentation level by the current increment (4 by default).

- o

  **void setInc(size\_t inc)**:\
   Defines the increment value used with the **dec** and **inc** members.

- o

  **void setWidth(size\_t width)**:\
   Defines the indentation to a specific value **width**.

## MANIPULATORS

The following manipulators (which are *not* part of the **FBB::Indent**, class, but *are* defined in the **FBB** namespace) can be inserted into the **FBB::Indent** object:

- o

  **FBB::decindent**:\
   This manipulator will first call **Indent::dec**. Then **FBB::indent** is called. The effect will be that the indentation level is reduced just before the indentation is inserted.

- o

  **FBB::incindent**:\
   This manipulator will first call **Indent::inc**. Then **FBB::indent** is called. The effect will be that the indentation level is incremented just before the indentation is inserted.

- o

  **FBB::indent**:\
   This manipulator will insert the currently defined number of indentation blanks into the *ostream* for which it it called.

- o

  **FBB::indentdec**:\
   This manipulator will first call **FBB::indent**, Then **Indent::dec** is called. The effect will be that the indentation is inserted first, immediately followed by a reduction of the indentation level.

- o

  **FBB::indentinc**:\
   This manipulator will first call **FBB::indent**, Then **Indent::inc** is called. The effect will be that the indentation is inserted first, immediately followed by a increment of the indentation level.

- o

  **FBB::nlindent**:\
   This manipulator will insert a newline character (*\\n*). Then **FBB::indent** is called, indenting the next line over the currently defined number of blanks.

## EXAMPLE

```
    using namespace std;
    using namespace FBB;
    int main()
    {
        cout << indentinc << "Not indented" <<
                nlindent << "Indenting with 4 blanks\n";
        Indent::clear();
        cout << "No indentation\n";
    }
```

## FILES

*bobcat/indent* - defines the class interface

## SEE ALSO

[**bobcat**(7)](/bobcat/7.md)

## BUGS

None Reported.

## BOBCAT PROJECT FILES

- o

  *https://fbb-git.gitlab.io/bobcat/*: gitlab project page;

Debian Bobcat project files:

- o

  *libbobcat6*: debian package containing the shared library, changelog and copyright note;

- o

  *libbobcat-dev*: debian package containing the static library, headers, manual pages, and developer info;

## 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**).
