yaml-cpp/src/indentation.h

40 lines
1019 B
C
Raw Normal View History

2009-07-30 02:27:20 +04:00
#ifndef INDENTATION_H_62B23520_7C8E_11DE_8A39_0800200C9A66
#define INDENTATION_H_62B23520_7C8E_11DE_8A39_0800200C9A66
2014-03-22 21:49:16 +04:00
#if defined(_MSC_VER) || \
(defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \
(__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4
#pragma once
#endif
2012-05-26 02:28:35 +04:00
#include "yaml-cpp/ostream_wrapper.h"
#include <iostream>
2014-03-22 21:49:16 +04:00
namespace YAML {
struct Indentation {
Indentation(unsigned n_) : n(n_) {}
unsigned n;
};
2014-03-22 21:49:16 +04:00
inline ostream_wrapper& operator<<(ostream_wrapper& out,
const Indentation& indent) {
for (unsigned i = 0; i < indent.n; i++)
out << ' ';
return out;
}
2014-03-22 21:49:16 +04:00
struct IndentTo {
IndentTo(unsigned n_) : n(n_) {}
unsigned n;
};
inline ostream_wrapper& operator<<(ostream_wrapper& out,
const IndentTo& indent) {
while (out.col() < indent.n)
out << ' ';
return out;
}
}
2009-07-30 02:27:20 +04:00
2014-03-22 21:49:16 +04:00
#endif // INDENTATION_H_62B23520_7C8E_11DE_8A39_0800200C9A66