1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 * Ceph - scalable distributed file system
6 * Copyright (C) 2016 SUSE LINUX GmbH
8 * This is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License version 2.1, as published by the Free Software
11 * Foundation. See file COPYING.
14 #include "common/bit_str.h"
15 #include "common/Formatter.h"
16 #include "include/assert.h"
18 static void _dump_bit_str(
22 std::function<const char*(uint64_t)> func,
29 while (b && cnt < 64) {
30 uint64_t r = bits & (1ULL << cnt++);
37 *out << "(" << r << ")";
42 f->dump_stream("bit_flag") << func(r)
45 f->dump_stream("bit_flag") << func(r);
59 std::function<const char*(uint64_t)> func,
62 _dump_bit_str(bits, &out, NULL, func, dump_bit_val);
68 std::function<const char*(uint64_t)> func,
71 _dump_bit_str(bits, NULL, f, func, dump_bit_val);