CharacterSetOption.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #ifndef SQUID_SRC_ACL_CHARACTERSETOPTION_H
10 #define SQUID_SRC_ACL_CHARACTERSETOPTION_H
11 
12 #include "acl/Options.h"
13 #include "base/CharacterSet.h"
14 #include "sbuf/SBuf.h"
15 
16 namespace Acl {
17 
19 
20 /* TypedOption<CharacterSetOptionValue> specializations */
21 
22 template <>
23 inline
24 void
26 {
27  SBuf chars = rawValue; // because c_str() is not constant
28  recipient_->value = CharacterSet(__FILE__, chars.c_str());
29 }
30 
31 template <>
32 inline void
34 {
35  recipient_->value.printChars(os); // TODO: Quote if needed.
36 }
37 
39 class CharacterSetOption: public TypedOption<CharacterSetOptionValue>
40 {
41 public:
43  explicit CharacterSetOption(const char *name): Parent(name, nullptr, valueOptional) {}
44 };
45 
46 } // namespace Acl
47 
48 #endif /* SQUID_SRC_ACL_CHARACTERSETOPTION_H */
49 
a type-specific Option (e.g., a boolean –toggle or -m=SBuf)
Definition: Options.h:129
CharacterSetOption(const char *name)
OptionValue< CharacterSet > CharacterSetOptionValue
Definition: SBuf.h:93
Definition: Acl.cc:33
TypedOption< CharacterSetOptionValue > Parent
const char * c_str()
Definition: SBuf.cc:516
option value to configure one or more characters (e.g., -m=",;")
void import(const SBuf &rawValue) const
Definition: Options.h:194
optimized set of C chars, with quick membership test and merge support
Definition: CharacterSet.h:17

 

Introduction

Documentation

Support

Miscellaneous