Classes | Namespaces | Macros
RVNGRawGeneratorBase.h File Reference
`#include <stack>`
`#include <librevenge/librevenge.h>`

Go to the source code of this file.

## Classes
struct | librevenge::RVNGRawGeneratorBase

## Namespaces
namespace | librevenge

## Macros
#define | RVNG_CALLGRAPH_ENTER(M, L)
#define | RVNG_CALLGRAPH_LEAVE(M, L)

## Macro Definition Documentation

## ◆ RVNG_CALLGRAPH_ENTER

#define RVNG_CALLGRAPH_ENTER | ( |  | M,
|  |  | L
| ) |  |

Value:
m_impl->m_atLeastOneCallback = true; \
if (!m_impl->m_printCallgraphScore) \
m_impl->iuprintf M; \
else \
m_impl->m_callStack.push(L);

## ◆ RVNG_CALLGRAPH_LEAVE

#define RVNG_CALLGRAPH_LEAVE | ( |  | M,
|  |  | L
| ) |  |

Value:
m_impl->m_atLeastOneCallback = true; \
if (!m_impl->m_printCallgraphScore) \
m_impl->idprintf M; \
else \
{ \
if (m_impl->m_callStack.empty()) \
{ \
m_impl->m_callbackMisses++; \
} \
else \
{ \
const int lc = m_impl->m_callStack.top(); \
if (lc != L) \
m_impl->m_callbackMisses++; \
m_impl->m_callStack.pop(); \
} \
}