2012-05-26 18:02:57 +10:00
|
|
|
/*
|
2018-08-04 15:14:06 +10:00
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
2012-05-26 18:02:57 +10:00
|
|
|
*
|
|
|
|
* Copyright 2011 Danny Robson <danny@nerdcruft.net>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __UTIL_FOURCC_HPP
|
|
|
|
#define __UTIL_FOURCC_HPP
|
|
|
|
|
2018-03-22 16:10:06 +11:00
|
|
|
#include <iosfwd>
|
2012-05-26 18:02:57 +10:00
|
|
|
#include <cstdint>
|
|
|
|
|
2018-08-05 14:42:02 +10:00
|
|
|
namespace cruft {
|
2012-11-09 15:11:02 +11:00
|
|
|
struct fourcc {
|
|
|
|
uint8_t data[4];
|
2012-05-26 18:02:57 +10:00
|
|
|
|
2012-11-09 15:11:02 +11:00
|
|
|
static fourcc from_string(const char[4]);
|
|
|
|
static fourcc from_chars(uint8_t, uint8_t, uint8_t, uint8_t);
|
2012-05-26 18:02:57 +10:00
|
|
|
|
2012-11-09 15:11:02 +11:00
|
|
|
bool operator== (const char[4]) const;
|
|
|
|
operator uint32_t (void) const;
|
|
|
|
};
|
2016-03-11 13:01:57 +11:00
|
|
|
|
2018-08-05 14:42:02 +10:00
|
|
|
std::ostream& operator<< (std::ostream&, cruft::fourcc);
|
2012-11-09 15:11:02 +11:00
|
|
|
}
|
2012-05-26 18:02:57 +10:00
|
|
|
|
|
|
|
|
|
|
|
#endif
|