Selaa lähdekoodia

Add constexpr if possible

Tatsuhiro Tsujikawa 8 vuotta sitten
vanhempi
commit
c1a0b33515

+ 3 - 1
src/BtPieceMessage.cc

@@ -151,7 +151,9 @@ void BtPieceMessage::doReceivedAction()
   }
 }
 
-size_t BtPieceMessage::MESSAGE_HEADER_LENGTH = 13;
+namespace {
+constexpr size_t MESSAGE_HEADER_LENGTH = 13;
+} // namespace
 
 void BtPieceMessage::createMessageHeader(unsigned char* msgHeader) const
 {

+ 0 - 2
src/BtPieceMessage.h

@@ -52,8 +52,6 @@ private:
   DownloadContext* downloadContext_;
   PeerStorage* peerStorage_;
 
-  static size_t MESSAGE_HEADER_LENGTH;
-
   bool checkPieceHash(const std::shared_ptr<Piece>& piece);
 
   void onNewPiece(const std::shared_ptr<Piece>& piece);

+ 1 - 1
src/ContentTypeRequestGroupCriteria.cc

@@ -42,7 +42,7 @@
 namespace aria2 {
 
 ContentTypeRequestGroupCriteria::ContentTypeRequestGroupCriteria(
-    const char** contentTypes, const char** extensions)
+    const char* const* contentTypes, const char* const* extensions)
     : contentTypes_(contentTypes), extensions_(extensions)
 {
 }

+ 4 - 4
src/ContentTypeRequestGroupCriteria.h

@@ -43,12 +43,12 @@ namespace aria2 {
 
 class ContentTypeRequestGroupCriteria : public RequestGroupCriteria {
 private:
-  const char** contentTypes_;
-  const char** extensions_;
+  const char* const* contentTypes_;
+  const char* const* extensions_;
 
 public:
-  ContentTypeRequestGroupCriteria(const char** contentTypes,
-                                  const char** extensions);
+  ContentTypeRequestGroupCriteria(const char* const* contentTypes,
+                                  const char* const* extensions);
 
   virtual ~ContentTypeRequestGroupCriteria();
 

+ 11 - 10
src/DownloadHandlerConstants.cc

@@ -37,32 +37,33 @@
 namespace aria2 {
 
 namespace {
-const char* METALINK_EXTENSIONS[] = {".metalink", // Metalink3Spec
-                                     ".meta4",    // Metalink4Spec
-                                     nullptr};
+constexpr const char* METALINK_EXTENSIONS[] = {".metalink", // Metalink3Spec
+                                               ".meta4",    // Metalink4Spec
+                                               nullptr};
 } // namespace
 
-const char** getMetalinkExtensions() { return METALINK_EXTENSIONS; }
+const char* const* getMetalinkExtensions() { return METALINK_EXTENSIONS; }
 
 namespace {
-const char* METALINK_CONTENT_TYPES[] = {
+constexpr const char* METALINK_CONTENT_TYPES[] = {
     "application/metalink4+xml", // Metalink4Spec
     "application/metalink+xml",  // Metalink3Spec
     nullptr};
 } // namespace
 
-const char** getMetalinkContentTypes() { return METALINK_CONTENT_TYPES; }
+const char* const* getMetalinkContentTypes() { return METALINK_CONTENT_TYPES; }
 
 namespace {
-const char* BT_EXTENSIONS[] = {".torrent", nullptr};
+constexpr const char* BT_EXTENSIONS[] = {".torrent", nullptr};
 } // namespace
 
-const char** getBtExtensions() { return BT_EXTENSIONS; }
+const char* const* getBtExtensions() { return BT_EXTENSIONS; }
 
 namespace {
-const char* BT_CONTENT_TYPES[] = {"application/x-bittorrent", nullptr};
+constexpr const char* BT_CONTENT_TYPES[] = {"application/x-bittorrent",
+                                            nullptr};
 } // namespace
 
-const char** getBtContentTypes() { return BT_CONTENT_TYPES; }
+const char* const* getBtContentTypes() { return BT_CONTENT_TYPES; }
 
 } // namespace aria2

+ 4 - 4
src/DownloadHandlerConstants.h

@@ -41,13 +41,13 @@ namespace aria2 {
 
 // These methods returns NULL-terminated list of c-strings.
 
-const char** getMetalinkExtensions();
+const char* const* getMetalinkExtensions();
 
-const char** getMetalinkContentTypes();
+const char* const* getMetalinkContentTypes();
 
-const char** getBtExtensions();
+const char* const* getBtExtensions();
 
-const char** getBtContentTypes();
+const char* const* getBtContentTypes();
 
 } // namespace aria2
 

+ 4 - 4
src/HttpHeader.cc

@@ -220,7 +220,7 @@ bool HttpHeader::isKeepAlive() const
 }
 
 namespace {
-const char* INTERESTING_HEADER_NAMES[] = {
+constexpr const char* INTERESTING_HEADER_NAMES[] = {
     "accept-encoding",
     "access-control-request-headers",
     "access-control-request-method",
@@ -249,9 +249,9 @@ const char* INTERESTING_HEADER_NAMES[] = {
 
 int idInterestingHeader(const char* hdName)
 {
-  const char** i = std::lower_bound(std::begin(INTERESTING_HEADER_NAMES),
-                                    std::end(INTERESTING_HEADER_NAMES), hdName,
-                                    util::strless);
+  auto i = std::lower_bound(std::begin(INTERESTING_HEADER_NAMES),
+                            std::end(INTERESTING_HEADER_NAMES), hdName,
+                            util::strless);
   if (i != std::end(INTERESTING_HEADER_NAMES) && strcmp(*i, hdName) == 0) {
     return i - std::begin(INTERESTING_HEADER_NAMES);
   }

+ 1 - 1
src/help_tags.cc

@@ -41,7 +41,7 @@
 namespace aria2 {
 
 namespace {
-const char* HELP_TAG_NAMES[] = {
+constexpr const char* HELP_TAG_NAMES[] = {
     "#basic",    "#advanced",   "#http",         "#https",      "#ftp",
     "#metalink", "#bittorrent", "#cookie",       "#hook",       "#file",
     "#rpc",      "#checksum",   "#experimental", "#deprecated", "#help"};