UID, ..: un-inline methods to reduce header dependencies

Only 1% build time speedup, but still, it declutters the headers a bit.

Before this patch:

 2565.17user 141.83system 2:25.46elapsed 1860%CPU (0avgtext+0avgdata 1489076maxresident)k
 72576inputs+9130920outputs (1667major+49400430minor)pagefaults 0swaps

After this patch:

 2537.19user 142.94system 2:26.90elapsed 1824%CPU (0avgtext+0avgdata 1434268maxresident)k
 16240inputs+8887152outputs (1931major+48728888minor)pagefaults 0swaps
This commit is contained in:
Max Kellermann 2020-02-02 16:29:27 +01:00
parent 0db61f3094
commit 6a815b4b06
38 changed files with 348 additions and 211 deletions

View file

@ -1,7 +1,5 @@
#pragma once
#include "util.h"
#include "analyzer/Tag.h"
#include <string>
@ -27,7 +25,7 @@ public:
// Implements the "event" keyword.
class RuleActionEvent : public RuleAction {
public:
explicit RuleActionEvent(const char* arg_msg) { msg = copy_string(arg_msg); }
explicit RuleActionEvent(const char* arg_msg);
~RuleActionEvent() override { delete [] msg; }
void DoAction(const Rule* parent, RuleEndpointState* state,
@ -41,8 +39,7 @@ private:
class RuleActionMIME : public RuleAction {
public:
explicit RuleActionMIME(const char* arg_mime, int arg_strength = 0)
{ mime = copy_string(arg_mime); strength = arg_strength; }
explicit RuleActionMIME(const char* arg_mime, int arg_strength = 0);
~RuleActionMIME() override
{ delete [] mime; }