catchmark(4) 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;
};