---
name: "catchmark"
section: "4rheolef"
platform: "linux"
package: "librheolef-dev"
version: "7.0-2+b1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/catchmark/4rheolef"
---

# catchmark(4rheolef)

iostream manipulator

## NAME

**catchmark** - iostream manipulator

## DESCRIPTION

The **catchmark** is used for building labels used for input-output of vector-valued fields (see field(2)):

```
        cin  >> catchmark("f")   >> fh;
        cout << catchmark("u")   << uh
             << catchmark("w")   << wh
             << catchmark("psi") << psih;

```

Assuming its value for output is **"u"**, the corresponding labels will be **"#u0"**, **"#u1"**, **"#u2"**, ...

## IMPLEMENTATION

```
class catchmark {
    public:
        catchmark(const std::string& x);
        const std::string& mark() const { return _mark; }
        friend std::istream& operator >> (std::istream& is, const catchmark& m);
        friend std::ostream& operator << (std::ostream& os, const catchmark& m);
    protected:
        std::string _mark;
};

```

## SEE ALSO

field(2)

## COPYRIGHT

Copyright (C) 2000-2018 Pierre Saramito \<Pierre.Saramito@imag.fr\> GPLv3+: GNU GPL version 3 or later \<http://gnu.org/licenses/gpl.html\>. This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.
