File: decompose.hpp

package info (click to toggle)
openmw 0.49.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,992 kB
  • sloc: cpp: 372,479; xml: 2,149; sh: 1,403; python: 797; makefile: 26
file content (17 lines) | stat: -rw-r--r-- 404 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef OPENMW_COMPONENTS_ESM_DECOMPOSE_H
#define OPENMW_COMPONENTS_ESM_DECOMPOSE_H

namespace ESM
{
    template <class T>
    void decompose(T&& value, const auto& apply) = delete;

    std::size_t getCompositeSize(const auto& value)
    {
        std::size_t result = 0;
        decompose(value, [&](const auto&... args) { result = (0 + ... + sizeof(args)); });
        return result;
    }
}

#endif