source: tags/ms_r17q3/CONVERTALN/wrap.h

Last change on this file was 15176, checked in by westram, 8 years ago
File size: 852 bytes
Line 
1#ifndef WRAP_H
2#define WRAP_H
3
4class WrapMode : virtual Noncopyable {
5    char *separators;
6
7    bool allowed_to_wrap() const { return separators; }
8    const char *get_seps() const { ca_assert(allowed_to_wrap()); return separators; }
9    int wrap_pos(const char *str, int wrapCol) const;
10
11    const char *print_return_wrapped(Writer& write, const char * const content, const int len, const int rest_width) const;
12
13public:
14    WrapMode(const char *separators_) : separators(nulldup(separators_)) {}
15    WrapMode(bool allowWrap) : separators(allowWrap ? ARB_strdup(WORD_SEP) : NULL) {} // true->wrap words, false->wrapping forbidden
16    ~WrapMode() { free(separators); }
17
18    void print(Writer& write, const char *first_prefix, const char *other_prefix, const char *content, int max_width) const;
19};
20
21#else
22#error wrap.h included twice
23#endif // WRAP_H
Note: See TracBrowser for help on using the repository browser.