This is an automated email from the ASF dual-hosted git repository.

apitrou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new c9fbc88ecc GH-36643: [C++][Parquet] Use nested namespace in parquet 
(#36647)
c9fbc88ecc is described below

commit c9fbc88eccd56fda27d6bc655732ed17388317ac
Author: mwish <[email protected]>
AuthorDate: Thu Jul 13 20:40:28 2023 +0800

    GH-36643: [C++][Parquet] Use nested namespace in parquet (#36647)
    
    
    
    ### Rationale for this change
    
    Just for code style, using nested namespace rather than before
    
    ### What changes are included in this PR?
    
    Using nested namespace
    
    ### Are these changes tested?
    
    no
    
    ### Are there any user-facing changes?
    
    no
    
    * Closes: #36643
    
    Authored-by: mwish <[email protected]>
    Signed-off-by: Antoine Pitrou <[email protected]>
---
 cpp/src/parquet/arrow/arrow_schema_test.cc                       | 7 ++-----
 cpp/src/parquet/arrow/arrow_statistics_test.cc                   | 6 ++----
 cpp/src/parquet/arrow/path_internal.cc                           | 6 ++----
 cpp/src/parquet/arrow/path_internal_test.cc                      | 6 ++----
 cpp/src/parquet/arrow/reader.cc                                  | 6 ++----
 cpp/src/parquet/arrow/reader_internal.cc                         | 6 ++----
 cpp/src/parquet/arrow/reconstruct_internal_test.cc               | 6 ++----
 cpp/src/parquet/arrow/schema.cc                                  | 7 ++-----
 cpp/src/parquet/arrow/schema_internal.cc                         | 7 ++-----
 cpp/src/parquet/arrow/schema_internal.h                          | 6 ++----
 cpp/src/parquet/arrow/writer.cc                                  | 6 ++----
 cpp/src/parquet/bloom_filter_reader_test.cc                      | 6 ++----
 cpp/src/parquet/encoding_test.cc                                 | 7 ++-----
 cpp/src/parquet/encryption/crypto_factory.cc                     | 6 ++----
 cpp/src/parquet/encryption/crypto_factory.h                      | 6 ++----
 cpp/src/parquet/encryption/encryption_internal.cc                | 6 ++----
 cpp/src/parquet/encryption/encryption_internal.h                 | 6 ++----
 cpp/src/parquet/encryption/encryption_internal_nossl.cc          | 6 ++----
 cpp/src/parquet/encryption/file_key_material_store.h             | 6 ++----
 cpp/src/parquet/encryption/file_key_unwrapper.cc                 | 6 ++----
 cpp/src/parquet/encryption/file_key_unwrapper.h                  | 6 ++----
 cpp/src/parquet/encryption/file_key_wrapper.cc                   | 6 ++----
 cpp/src/parquet/encryption/file_key_wrapper.h                    | 6 ++----
 cpp/src/parquet/encryption/file_system_key_material_store.cc     | 6 ++----
 cpp/src/parquet/encryption/file_system_key_material_store.h      | 6 ++----
 cpp/src/parquet/encryption/key_encryption_key.h                  | 6 ++----
 cpp/src/parquet/encryption/key_management_test.cc                | 8 ++------
 cpp/src/parquet/encryption/key_material.cc                       | 6 ++----
 cpp/src/parquet/encryption/key_material.h                        | 6 ++----
 cpp/src/parquet/encryption/key_metadata.cc                       | 6 ++----
 cpp/src/parquet/encryption/key_metadata.h                        | 6 ++----
 cpp/src/parquet/encryption/key_metadata_test.cc                  | 8 ++------
 cpp/src/parquet/encryption/key_toolkit.cc                        | 6 ++----
 cpp/src/parquet/encryption/key_toolkit.h                         | 6 ++----
 cpp/src/parquet/encryption/key_toolkit_internal.cc               | 8 ++------
 cpp/src/parquet/encryption/key_toolkit_internal.h                | 8 ++------
 cpp/src/parquet/encryption/key_wrapping_test.cc                  | 8 ++------
 cpp/src/parquet/encryption/kms_client.cc                         | 6 ++----
 cpp/src/parquet/encryption/kms_client.h                          | 6 ++----
 cpp/src/parquet/encryption/kms_client_factory.h                  | 6 ++----
 cpp/src/parquet/encryption/local_wrap_kms_client.cc              | 6 ++----
 cpp/src/parquet/encryption/local_wrap_kms_client.h               | 6 ++----
 cpp/src/parquet/encryption/properties_test.cc                    | 8 ++------
 cpp/src/parquet/encryption/read_configurations_test.cc           | 8 ++------
 cpp/src/parquet/encryption/test_encryption_util.cc               | 8 ++------
 cpp/src/parquet/encryption/test_encryption_util.h                | 6 ++----
 cpp/src/parquet/encryption/test_in_memory_kms.cc                 | 6 ++----
 cpp/src/parquet/encryption/test_in_memory_kms.h                  | 6 ++----
 cpp/src/parquet/encryption/two_level_cache_with_expiration.h     | 6 ++----
 .../parquet/encryption/two_level_cache_with_expiration_test.cc   | 8 ++------
 cpp/src/parquet/encryption/write_configurations_test.cc          | 8 ++------
 cpp/src/parquet/level_comparison.cc                              | 6 ++----
 cpp/src/parquet/level_comparison.h                               | 6 ++----
 cpp/src/parquet/level_comparison_inc.h                           | 8 ++------
 cpp/src/parquet/level_conversion.cc                              | 6 ++----
 cpp/src/parquet/level_conversion.h                               | 6 ++----
 cpp/src/parquet/level_conversion_bmi2.cc                         | 6 ++----
 cpp/src/parquet/level_conversion_inc.h                           | 9 ++-------
 cpp/src/parquet/level_conversion_test.cc                         | 6 ++----
 cpp/src/parquet/types.h                                          | 6 ++----
 60 files changed, 120 insertions(+), 269 deletions(-)

diff --git a/cpp/src/parquet/arrow/arrow_schema_test.cc 
b/cpp/src/parquet/arrow/arrow_schema_test.cc
index 7c608e4424..f11101eb24 100644
--- a/cpp/src/parquet/arrow/arrow_schema_test.cc
+++ b/cpp/src/parquet/arrow/arrow_schema_test.cc
@@ -50,9 +50,7 @@ using parquet::schema::PrimitiveNode;
 
 using ::testing::ElementsAre;
 
-namespace parquet {
-
-namespace arrow {
+namespace parquet::arrow {
 
 const auto BOOL = ::arrow::boolean();
 const auto UINT8 = ::arrow::uint8();
@@ -1776,5 +1774,4 @@ TEST_F(TestLevels, ListErrors) {
   }
 }
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/arrow/arrow_statistics_test.cc 
b/cpp/src/parquet/arrow/arrow_statistics_test.cc
index 604f163a66..ad4496933e 100644
--- a/cpp/src/parquet/arrow/arrow_statistics_test.cc
+++ b/cpp/src/parquet/arrow/arrow_statistics_test.cc
@@ -36,8 +36,7 @@ using arrow::Table;
 
 using arrow::io::BufferReader;
 
-namespace parquet {
-namespace arrow {
+namespace parquet::arrow {
 
 struct StatisticsTestParam {
   std::shared_ptr<::arrow::Table> table;
@@ -157,5 +156,4 @@ INSTANTIATE_TEST_SUITE_P(
             /*expected_min=*/"z",
             /*expected_max=*/"z"}));
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/arrow/path_internal.cc 
b/cpp/src/parquet/arrow/path_internal.cc
index 2aeee6e500..919c97f432 100644
--- a/cpp/src/parquet/arrow/path_internal.cc
+++ b/cpp/src/parquet/arrow/path_internal.cc
@@ -108,8 +108,7 @@
 
 #include "parquet/properties.h"
 
-namespace parquet {
-namespace arrow {
+namespace parquet::arrow {
 
 namespace {
 
@@ -901,5 +900,4 @@ Status MultipathLevelBuilder::Write(const Array& array, 
bool array_field_nullabl
   return Status::OK();
 }
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/arrow/path_internal_test.cc 
b/cpp/src/parquet/arrow/path_internal_test.cc
index 4645807007..fb9c404247 100644
--- a/cpp/src/parquet/arrow/path_internal_test.cc
+++ b/cpp/src/parquet/arrow/path_internal_test.cc
@@ -29,8 +29,7 @@
 
 #include "parquet/properties.h"
 
-namespace parquet {
-namespace arrow {
+namespace parquet::arrow {
 
 using ::arrow::default_memory_pool;
 using ::arrow::field;
@@ -644,5 +643,4 @@ TEST_F(MultipathLevelBuilderTest, TestPrimitiveNonNullable) 
{
   EXPECT_THAT(results_[0].post_list_elements[0].end, Eq(4));
 }
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/arrow/reader.cc b/cpp/src/parquet/arrow/reader.cc
index 40fbdcbb56..855fb5a5a4 100644
--- a/cpp/src/parquet/arrow/reader.cc
+++ b/cpp/src/parquet/arrow/reader.cc
@@ -76,8 +76,7 @@ using parquet::internal::RecordReader;
 
 namespace bit_util = arrow::bit_util;
 
-namespace parquet {
-namespace arrow {
+namespace parquet::arrow {
 namespace {
 
 ::arrow::Result<std::shared_ptr<ArrayData>> ChunksToSingle(const ChunkedArray& 
chunked) {
@@ -1414,5 +1413,4 @@ Status FuzzReader(const uint8_t* data, int64_t size) {
 
 }  // namespace internal
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/arrow/reader_internal.cc 
b/cpp/src/parquet/arrow/reader_internal.cc
index a294b712a7..7034f5839e 100644
--- a/cpp/src/parquet/arrow/reader_internal.cc
+++ b/cpp/src/parquet/arrow/reader_internal.cc
@@ -94,8 +94,7 @@ using ParquetType = parquet::Type;
 
 namespace bit_util = arrow::bit_util;
 
-namespace parquet {
-namespace arrow {
+namespace parquet::arrow {
 namespace {
 
 template <typename ArrowType>
@@ -856,5 +855,4 @@ Status TransferColumnData(RecordReader* reader, const 
std::shared_ptr<Field>& va
   return Status::OK();
 }
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/arrow/reconstruct_internal_test.cc 
b/cpp/src/parquet/arrow/reconstruct_internal_test.cc
index 8a69f8266f..4e1f421498 100644
--- a/cpp/src/parquet/arrow/reconstruct_internal_test.cc
+++ b/cpp/src/parquet/arrow/reconstruct_internal_test.cc
@@ -65,8 +65,7 @@ using testing::Eq;
 using testing::NotNull;
 using testing::SizeIs;
 
-namespace parquet {
-namespace arrow {
+namespace parquet::arrow {
 
 using parquet::schema::GroupNode;
 using parquet::schema::NodePtr;
@@ -1637,5 +1636,4 @@ TEST_F(TestReconstructColumn, ListList6) {
 
 // TODO legacy-list-in-struct etc.?
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/arrow/schema.cc b/cpp/src/parquet/arrow/schema.cc
index c5d5e0743a..f713548d05 100644
--- a/cpp/src/parquet/arrow/schema.cc
+++ b/cpp/src/parquet/arrow/schema.cc
@@ -63,9 +63,7 @@ using parquet::LogicalType;
 
 using parquet::internal::LevelInfo;
 
-namespace parquet {
-
-namespace arrow {
+namespace parquet::arrow {
 
 // ----------------------------------------------------------------------
 // Parquet to Arrow schema conversion
@@ -1106,5 +1104,4 @@ Status SchemaManifest::Make(const SchemaDescriptor* 
schema,
   return Status::OK();
 }
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/arrow/schema_internal.cc 
b/cpp/src/parquet/arrow/schema_internal.cc
index 064bf4f55c..da0427cb31 100644
--- a/cpp/src/parquet/arrow/schema_internal.cc
+++ b/cpp/src/parquet/arrow/schema_internal.cc
@@ -23,9 +23,7 @@ using ArrowType = ::arrow::DataType;
 using ArrowTypeId = ::arrow::Type;
 using ParquetType = parquet::Type;
 
-namespace parquet {
-
-namespace arrow {
+namespace parquet::arrow {
 
 using ::arrow::Result;
 using ::arrow::Status;
@@ -218,5 +216,4 @@ Result<std::shared_ptr<ArrowType>> GetArrowType(
                       primitive.type_length(), int96_arrow_time_unit);
 }
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/arrow/schema_internal.h 
b/cpp/src/parquet/arrow/schema_internal.h
index fb837c3ee6..55292ac35a 100644
--- a/cpp/src/parquet/arrow/schema_internal.h
+++ b/cpp/src/parquet/arrow/schema_internal.h
@@ -24,8 +24,7 @@ namespace arrow {
 class DataType;
 }
 
-namespace parquet {
-namespace arrow {
+namespace parquet::arrow {
 
 using ::arrow::Result;
 
@@ -47,5 +46,4 @@ Result<std::shared_ptr<::arrow::DataType>> GetArrowType(
     const schema::PrimitiveNode& primitive,
     ::arrow::TimeUnit::type int96_arrow_time_unit = ::arrow::TimeUnit::NANO);
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/arrow/writer.cc b/cpp/src/parquet/arrow/writer.cc
index 6d22f318f6..0c67e8d6bb 100644
--- a/cpp/src/parquet/arrow/writer.cc
+++ b/cpp/src/parquet/arrow/writer.cc
@@ -73,8 +73,7 @@ using parquet::ParquetFileWriter;
 using parquet::ParquetVersion;
 using parquet::schema::GroupNode;
 
-namespace parquet {
-namespace arrow {
+namespace parquet::arrow {
 
 namespace {
 
@@ -600,5 +599,4 @@ Status WriteTable(const ::arrow::Table& table, 
::arrow::MemoryPool* pool,
   return writer->Close();
 }
 
-}  // namespace arrow
-}  // namespace parquet
+}  // namespace parquet::arrow
diff --git a/cpp/src/parquet/bloom_filter_reader_test.cc 
b/cpp/src/parquet/bloom_filter_reader_test.cc
index 64dd0d9b9d..e297ab7045 100644
--- a/cpp/src/parquet/bloom_filter_reader_test.cc
+++ b/cpp/src/parquet/bloom_filter_reader_test.cc
@@ -22,8 +22,7 @@
 #include "parquet/file_reader.h"
 #include "parquet/test_util.h"
 
-namespace parquet {
-namespace test {
+namespace parquet::test {
 
 TEST(BloomFilterReader, ReadBloomFilter) {
   std::string dir_string(parquet::test::get_data_dir());
@@ -70,5 +69,4 @@ TEST(BloomFilterReader, FileNotHaveBloomFilter) {
   ASSERT_EQ(nullptr, bloom_filter);
 }
 
-}  // namespace test
-}  // namespace parquet
+}  // namespace parquet::test
diff --git a/cpp/src/parquet/encoding_test.cc b/cpp/src/parquet/encoding_test.cc
index 6285c4c125..7a910e4220 100644
--- a/cpp/src/parquet/encoding_test.cc
+++ b/cpp/src/parquet/encoding_test.cc
@@ -48,9 +48,7 @@ using arrow::internal::checked_cast;
 
 namespace bit_util = arrow::bit_util;
 
-namespace parquet {
-
-namespace test {
+namespace parquet::test {
 
 TEST(VectorBooleanTest, TestEncodeBoolDecode) {
   // PARQUET-454
@@ -1910,5 +1908,4 @@ TEST(DeltaLengthByteArrayEncodingAdHoc, ArrowDirectPut) {
   CheckDecode(encoded, ::arrow::ArrayFromJSON(::arrow::large_binary(), 
values));
 }
 
-}  // namespace test
-}  // namespace parquet
+}  // namespace parquet::test
diff --git a/cpp/src/parquet/encryption/crypto_factory.cc 
b/cpp/src/parquet/encryption/crypto_factory.cc
index 67e3d8c5f2..ebb7c3c7b3 100644
--- a/cpp/src/parquet/encryption/crypto_factory.cc
+++ b/cpp/src/parquet/encryption/crypto_factory.cc
@@ -26,8 +26,7 @@
 #include "parquet/encryption/file_system_key_material_store.h"
 #include "parquet/encryption/key_toolkit_internal.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 void CryptoFactory::RegisterKmsClientFactory(
     std::shared_ptr<KmsClientFactory> kms_client_factory) {
@@ -192,5 +191,4 @@ void CryptoFactory::RotateMasterKeys(
                                 double_wrapping, cache_lifetime_seconds);
 }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/crypto_factory.h 
b/cpp/src/parquet/encryption/crypto_factory.h
index 14015a95c8..291cccf30f 100644
--- a/cpp/src/parquet/encryption/crypto_factory.h
+++ b/cpp/src/parquet/encryption/crypto_factory.h
@@ -25,8 +25,7 @@
 #include "parquet/encryption/kms_client_factory.h"
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 static constexpr ParquetCipher::type kDefaultEncryptionAlgorithm =
     ParquetCipher::AES_GCM_V1;
@@ -152,5 +151,4 @@ class PARQUET_EXPORT CryptoFactory {
   KeyToolkit key_toolkit_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/encryption_internal.cc 
b/cpp/src/parquet/encryption/encryption_internal.cc
index 1c4d3d8dc4..6e66efeff6 100644
--- a/cpp/src/parquet/encryption/encryption_internal.cc
+++ b/cpp/src/parquet/encryption/encryption_internal.cc
@@ -31,8 +31,7 @@
 
 using parquet::ParquetException;
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 constexpr int kGcmMode = 0;
 constexpr int kCtrMode = 1;
@@ -649,5 +648,4 @@ void QuickUpdatePageAad(int32_t new_page_ordinal, 
std::string* AAD) {
 
 void RandBytes(unsigned char* buf, int num) { RAND_bytes(buf, num); }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/encryption_internal.h 
b/cpp/src/parquet/encryption/encryption_internal.h
index 24093c68be..4ed5b5cf61 100644
--- a/cpp/src/parquet/encryption/encryption_internal.h
+++ b/cpp/src/parquet/encryption/encryption_internal.h
@@ -26,8 +26,7 @@
 
 using parquet::ParquetCipher;
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 constexpr int kGcmTagLength = 16;
 constexpr int kNonceLength = 12;
@@ -129,5 +128,4 @@ void QuickUpdatePageAad(int32_t new_page_ordinal, 
std::string* AAD);
 // Wraps OpenSSL RAND_bytes function
 void RandBytes(unsigned char* buf, int num);
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/encryption_internal_nossl.cc 
b/cpp/src/parquet/encryption/encryption_internal_nossl.cc
index bb203f0fd8..0241923474 100644
--- a/cpp/src/parquet/encryption/encryption_internal_nossl.cc
+++ b/cpp/src/parquet/encryption/encryption_internal_nossl.cc
@@ -18,8 +18,7 @@
 #include "parquet/encryption/encryption_internal.h"
 #include "parquet/exception.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 void ThrowOpenSSLRequiredException() {
   throw ParquetException(
@@ -115,5 +114,4 @@ void QuickUpdatePageAad(int32_t new_page_ordinal, 
std::string* AAD) {
 
 void RandBytes(unsigned char* buf, int num) { ThrowOpenSSLRequiredException(); 
}
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/file_key_material_store.h 
b/cpp/src/parquet/encryption/file_key_material_store.h
index 862e8d9761..83f028a4bc 100644
--- a/cpp/src/parquet/encryption/file_key_material_store.h
+++ b/cpp/src/parquet/encryption/file_key_material_store.h
@@ -24,8 +24,7 @@
 #include "arrow/filesystem/filesystem.h"
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 /// Stores encryption key material outside the Parquet file, for example in a 
separate
 /// small file in the same folder. This is important for “key rotation”, when 
MEKs have to
@@ -55,5 +54,4 @@ class PARQUET_EXPORT FileKeyMaterialStore {
   virtual ~FileKeyMaterialStore() {}
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/file_key_unwrapper.cc 
b/cpp/src/parquet/encryption/file_key_unwrapper.cc
index a2e2d2df5b..50cc6eee53 100644
--- a/cpp/src/parquet/encryption/file_key_unwrapper.cc
+++ b/cpp/src/parquet/encryption/file_key_unwrapper.cc
@@ -22,8 +22,7 @@
 #include "parquet/encryption/file_key_unwrapper.h"
 #include "parquet/encryption/key_metadata.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 FileKeyUnwrapper::FileKeyUnwrapper(
     KeyToolkit* key_toolkit, const KmsConnectionConfig& kms_connection_config,
@@ -136,5 +135,4 @@ std::shared_ptr<KmsClient> 
FileKeyUnwrapper::GetKmsClientFromConfigOrKeyMaterial
                                     cache_entry_lifetime_seconds_);
 }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/file_key_unwrapper.h 
b/cpp/src/parquet/encryption/file_key_unwrapper.h
index 3400641ed9..71b245788a 100644
--- a/cpp/src/parquet/encryption/file_key_unwrapper.h
+++ b/cpp/src/parquet/encryption/file_key_unwrapper.h
@@ -27,8 +27,7 @@
 #include "parquet/encryption/kms_client.h"
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 // This class will retrieve the key from "key metadata", following these steps:
 // 1. Parse "key metadata" (see structure in KeyMetadata class).
@@ -78,5 +77,4 @@ class PARQUET_EXPORT FileKeyUnwrapper : public 
DecryptionKeyRetriever {
   std::shared_ptr<::arrow::fs::FileSystem> file_system_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/file_key_wrapper.cc 
b/cpp/src/parquet/encryption/file_key_wrapper.cc
index 4f0f1d219a..704651ebaa 100644
--- a/cpp/src/parquet/encryption/file_key_wrapper.cc
+++ b/cpp/src/parquet/encryption/file_key_wrapper.cc
@@ -22,8 +22,7 @@
 #include "parquet/encryption/key_toolkit_internal.h"
 #include "parquet/exception.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 FileKeyWrapper::FileKeyWrapper(KeyToolkit* key_toolkit,
                                const KmsConnectionConfig& 
kms_connection_config,
@@ -124,5 +123,4 @@ KeyEncryptionKey FileKeyWrapper::CreateKeyEncryptionKey(
   return KeyEncryptionKey(kek_bytes, kek_id, encoded_wrapped_kek);
 }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/file_key_wrapper.h 
b/cpp/src/parquet/encryption/file_key_wrapper.h
index 95ad6ec482..26b9719de6 100644
--- a/cpp/src/parquet/encryption/file_key_wrapper.h
+++ b/cpp/src/parquet/encryption/file_key_wrapper.h
@@ -29,8 +29,7 @@
 #include "parquet/encryption/kms_client.h"
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 // This class will generate "key metadata" from "data encryption key" and 
"master key",
 // following these steps:
@@ -82,5 +81,4 @@ class PARQUET_EXPORT FileKeyWrapper {
   uint16_t key_counter_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/file_system_key_material_store.cc 
b/cpp/src/parquet/encryption/file_system_key_material_store.cc
index 494a75e4cc..2d898c1d39 100644
--- a/cpp/src/parquet/encryption/file_system_key_material_store.cc
+++ b/cpp/src/parquet/encryption/file_system_key_material_store.cc
@@ -27,8 +27,7 @@
 #include "parquet/encryption/key_material.h"
 #include "parquet/exception.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 constexpr const char FileSystemKeyMaterialStore::kKeyMaterialFilePrefix[];
 constexpr const char FileSystemKeyMaterialStore::kTempFilePrefix[];
@@ -139,5 +138,4 @@ void FileSystemKeyMaterialStore::MoveMaterialTo(
   }
 }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/file_system_key_material_store.h 
b/cpp/src/parquet/encryption/file_system_key_material_store.h
index 6fbdd55e94..896a53202f 100644
--- a/cpp/src/parquet/encryption/file_system_key_material_store.h
+++ b/cpp/src/parquet/encryption/file_system_key_material_store.h
@@ -25,8 +25,7 @@
 
 #include "parquet/encryption/file_key_material_store.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 /// A FileKeyMaterialStore that stores key material in a file system file in 
the same
 /// folder as the Parquet file.
@@ -87,5 +86,4 @@ class PARQUET_EXPORT FileSystemKeyMaterialStore : public 
FileKeyMaterialStore {
   std::unordered_map<std::string, std::string> key_material_map_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/key_encryption_key.h 
b/cpp/src/parquet/encryption/key_encryption_key.h
index 153bb4b5e2..62263ee3cd 100644
--- a/cpp/src/parquet/encryption/key_encryption_key.h
+++ b/cpp/src/parquet/encryption/key_encryption_key.h
@@ -22,8 +22,7 @@
 
 #include "arrow/util/base64.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 // In the double wrapping mode, each "data encryption key" (DEK) is encrypted 
with a “key
 // encryption key” (KEK), that in turn is encrypted with a "master encryption 
key" (MEK).
@@ -55,5 +54,4 @@ class KeyEncryptionKey {
   std::string encoded_wrapped_kek_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/key_management_test.cc 
b/cpp/src/parquet/encryption/key_management_test.cc
index 5eebde0c29..f733c43ee1 100644
--- a/cpp/src/parquet/encryption/key_management_test.cc
+++ b/cpp/src/parquet/encryption/key_management_test.cc
@@ -37,9 +37,7 @@
 #include "parquet/file_reader.h"
 #include "parquet/test_util.h"
 
-namespace parquet {
-namespace encryption {
-namespace test {
+namespace parquet::encryption::test {
 
 class TestEncryptionKeyManagement : public ::testing::Test {
  protected:
@@ -387,6 +385,4 @@ TEST_F(TestEncryptionKeyManagement, 
ReadParquetMRExternalKeyMaterialFile) {
   }
 }
 
-}  // namespace test
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption::test
diff --git a/cpp/src/parquet/encryption/key_material.cc 
b/cpp/src/parquet/encryption/key_material.cc
index 372279c33a..1cebf5900f 100644
--- a/cpp/src/parquet/encryption/key_material.cc
+++ b/cpp/src/parquet/encryption/key_material.cc
@@ -25,8 +25,7 @@
 using ::arrow::json::internal::ObjectParser;
 using ::arrow::json::internal::ObjectWriter;
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 constexpr const char KeyMaterial::kKeyMaterialTypeField[];
 constexpr const char KeyMaterial::kKeyMaterialType1[];
@@ -155,5 +154,4 @@ std::string KeyMaterial::SerializeToJson(
   return json_writer.Serialize();
 }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/key_material.h 
b/cpp/src/parquet/encryption/key_material.h
index f20d23ea35..3e7e862c99 100644
--- a/cpp/src/parquet/encryption/key_material.h
+++ b/cpp/src/parquet/encryption/key_material.h
@@ -29,8 +29,7 @@ class ObjectParser;
 }  // namespace json
 }  // namespace arrow
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 // KeyMaterial class represents the "key material", keeping the information 
that allows
 // readers to recover an encryption key (see description of the KeyMetadata 
class). The
@@ -127,5 +126,4 @@ class PARQUET_EXPORT KeyMaterial {
   std::string encoded_wrapped_dek_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/key_metadata.cc 
b/cpp/src/parquet/encryption/key_metadata.cc
index 624626c890..e23a67b6b8 100644
--- a/cpp/src/parquet/encryption/key_metadata.cc
+++ b/cpp/src/parquet/encryption/key_metadata.cc
@@ -24,8 +24,7 @@
 using ::arrow::json::internal::ObjectParser;
 using ::arrow::json::internal::ObjectWriter;
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 constexpr const char KeyMetadata::kKeyMaterialInternalStorageField[];
 constexpr const char KeyMetadata::kKeyReferenceField[];
@@ -85,5 +84,4 @@ std::string KeyMetadata::CreateSerializedForExternalMaterial(
   return json_writer.Serialize();
 }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/key_metadata.h 
b/cpp/src/parquet/encryption/key_metadata.h
index b6dc349f19..6fe8ac7ccb 100644
--- a/cpp/src/parquet/encryption/key_metadata.h
+++ b/cpp/src/parquet/encryption/key_metadata.h
@@ -24,8 +24,7 @@
 #include "parquet/exception.h"
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 // Parquet encryption specification defines "key metadata" as an arbitrary 
byte array,
 // generated by file writers for each encryption key, and passed to the low 
level API for
@@ -89,5 +88,4 @@ class PARQUET_EXPORT KeyMetadata {
   ::std::variant<KeyMaterial, std::string> key_material_or_reference_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/key_metadata_test.cc 
b/cpp/src/parquet/encryption/key_metadata_test.cc
index 3f891ef26d..f9409edf2a 100644
--- a/cpp/src/parquet/encryption/key_metadata_test.cc
+++ b/cpp/src/parquet/encryption/key_metadata_test.cc
@@ -22,9 +22,7 @@
 #include "parquet/encryption/key_material.h"
 #include "parquet/encryption/key_metadata.h"
 
-namespace parquet {
-namespace encryption {
-namespace test {
+namespace parquet::encryption::test {
 
 TEST(KeyMetadataTest, InternalMaterialStorage) {
   bool is_footer_key = true;
@@ -72,6 +70,4 @@ TEST(KeyMetadataTest, ExternalMaterialStorage) {
   ASSERT_EQ(key_metadata.key_reference(), key_reference);
 }
 
-}  // namespace test
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption::test
diff --git a/cpp/src/parquet/encryption/key_toolkit.cc 
b/cpp/src/parquet/encryption/key_toolkit.cc
index 0b8543b458..cb488d3fa2 100644
--- a/cpp/src/parquet/encryption/key_toolkit.cc
+++ b/cpp/src/parquet/encryption/key_toolkit.cc
@@ -27,8 +27,7 @@
 #include "parquet/encryption/file_system_key_material_store.h"
 #include "parquet/encryption/key_toolkit_internal.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 std::shared_ptr<KmsClient> KeyToolkit::GetKmsClient(
     const KmsConnectionConfig& kms_connection_config, double 
cache_entry_lifetime_ms) {
@@ -119,5 +118,4 @@ void KeyToolkit::RemoveCacheEntriesForAllTokens() {
   kek_read_cache_per_token().Clear();
 }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/key_toolkit.h 
b/cpp/src/parquet/encryption/key_toolkit.h
index d65f5d8a2d..f63ade4c8c 100644
--- a/cpp/src/parquet/encryption/key_toolkit.h
+++ b/cpp/src/parquet/encryption/key_toolkit.h
@@ -26,8 +26,7 @@
 #include "parquet/encryption/two_level_cache_with_expiration.h"
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 static constexpr uint64_t kCacheCleanPeriodForKeyRotation = 60 * 60;  // 1 hour
 
@@ -104,5 +103,4 @@ class PARQUET_EXPORT KeyWithMasterId {
   const std::string master_id_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/key_toolkit_internal.cc 
b/cpp/src/parquet/encryption/key_toolkit_internal.cc
index 6e0e4e6c65..bdd65d8de3 100644
--- a/cpp/src/parquet/encryption/key_toolkit_internal.cc
+++ b/cpp/src/parquet/encryption/key_toolkit_internal.cc
@@ -20,9 +20,7 @@
 #include "parquet/encryption/encryption_internal.h"
 #include "parquet/encryption/key_toolkit_internal.h"
 
-namespace parquet {
-namespace encryption {
-namespace internal {
+namespace parquet::encryption::internal {
 
 // Acceptable key lengths in number of bits, used to validate the data key 
lengths
 // configured by users and the master key lengths fetched from KMS server.
@@ -77,6 +75,4 @@ bool ValidateKeyLength(int32_t key_length_bits) {
   return found_key_length != std::end(kAcceptableDataKeyLengths);
 }
 
-}  // namespace internal
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption::internal
diff --git a/cpp/src/parquet/encryption/key_toolkit_internal.h 
b/cpp/src/parquet/encryption/key_toolkit_internal.h
index bcc60bdad6..8474a91fc1 100644
--- a/cpp/src/parquet/encryption/key_toolkit_internal.h
+++ b/cpp/src/parquet/encryption/key_toolkit_internal.h
@@ -21,9 +21,7 @@
 
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
-namespace internal {
+namespace parquet::encryption::internal {
 
 /// Encrypts "key" with "master_key", using AES-GCM and the "aad"
 PARQUET_EXPORT
@@ -38,6 +36,4 @@ std::string DecryptKeyLocally(const std::string& 
encoded_encrypted_key,
 PARQUET_EXPORT
 bool ValidateKeyLength(int32_t key_length_bits);
 
-}  // namespace internal
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption::internal
diff --git a/cpp/src/parquet/encryption/key_wrapping_test.cc 
b/cpp/src/parquet/encryption/key_wrapping_test.cc
index dba9d67dfe..198ceb9bf4 100644
--- a/cpp/src/parquet/encryption/key_wrapping_test.cc
+++ b/cpp/src/parquet/encryption/key_wrapping_test.cc
@@ -26,9 +26,7 @@
 #include "parquet/encryption/test_encryption_util.h"
 #include "parquet/encryption/test_in_memory_kms.h"
 
-namespace parquet {
-namespace encryption {
-namespace test {
+namespace parquet::encryption::test {
 
 class KeyWrappingTest : public ::testing::Test {
  protected:
@@ -113,6 +111,4 @@ TEST_F(KeyWrappingTest, ExternalMaterialStorage) {
   this->WrapThenUnwrap(false, false, false);
 }
 
-}  // namespace test
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption::test
diff --git a/cpp/src/parquet/encryption/kms_client.cc 
b/cpp/src/parquet/encryption/kms_client.cc
index b9c720272c..fee03dd3db 100644
--- a/cpp/src/parquet/encryption/kms_client.cc
+++ b/cpp/src/parquet/encryption/kms_client.cc
@@ -17,8 +17,7 @@
 
 #include "parquet/encryption/kms_client.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 constexpr const char KmsClient::kKmsInstanceIdDefault[];
 constexpr const char KmsClient::kKmsInstanceUrlDefault[];
@@ -40,5 +39,4 @@ void KmsConnectionConfig::SetDefaultIfEmpty() {
   }
 }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/kms_client.h 
b/cpp/src/parquet/encryption/kms_client.h
index 5ffa604ffd..a55fd552ee 100644
--- a/cpp/src/parquet/encryption/kms_client.h
+++ b/cpp/src/parquet/encryption/kms_client.h
@@ -26,8 +26,7 @@
 #include "parquet/exception.h"
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 /// This class wraps the key access token of a KMS server. If your token 
changes over
 /// time, you should keep the reference to the KeyAccessToken object and call 
Refresh()
@@ -91,5 +90,4 @@ class PARQUET_EXPORT KmsClient {
   virtual ~KmsClient() {}
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/kms_client_factory.h 
b/cpp/src/parquet/encryption/kms_client_factory.h
index eac8dfc5d0..7a7c77c7ee 100644
--- a/cpp/src/parquet/encryption/kms_client_factory.h
+++ b/cpp/src/parquet/encryption/kms_client_factory.h
@@ -20,8 +20,7 @@
 #include "parquet/encryption/kms_client.h"
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 class PARQUET_EXPORT KmsClientFactory {
  public:
@@ -36,5 +35,4 @@ class PARQUET_EXPORT KmsClientFactory {
   bool wrap_locally_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/local_wrap_kms_client.cc 
b/cpp/src/parquet/encryption/local_wrap_kms_client.cc
index 1b89dc57d0..23e28bb8e6 100644
--- a/cpp/src/parquet/encryption/local_wrap_kms_client.cc
+++ b/cpp/src/parquet/encryption/local_wrap_kms_client.cc
@@ -25,8 +25,7 @@
 using ::arrow::json::internal::ObjectParser;
 using ::arrow::json::internal::ObjectWriter;
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 constexpr const char LocalWrapKmsClient::kLocalWrapNoKeyVersion[];
 
@@ -112,5 +111,4 @@ std::string LocalWrapKmsClient::GetKeyFromServer(const 
std::string& key_identifi
   return master_key;
 }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/local_wrap_kms_client.h 
b/cpp/src/parquet/encryption/local_wrap_kms_client.h
index 65cf8f42c7..3c90d82960 100644
--- a/cpp/src/parquet/encryption/local_wrap_kms_client.h
+++ b/cpp/src/parquet/encryption/local_wrap_kms_client.h
@@ -25,8 +25,7 @@
 #include "parquet/encryption/kms_client.h"
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 /// This class supports local wrapping mode, master keys will be fetched from 
the KMS
 /// server and used to encrypt other keys (data encryption keys or key 
encryption keys).
@@ -92,5 +91,4 @@ class PARQUET_EXPORT LocalWrapKmsClient : public KmsClient {
   ::arrow::util::ConcurrentMap<std::string, std::string> master_key_cache_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/properties_test.cc 
b/cpp/src/parquet/encryption/properties_test.cc
index 0eb5cba201..895cf6c634 100644
--- a/cpp/src/parquet/encryption/properties_test.cc
+++ b/cpp/src/parquet/encryption/properties_test.cc
@@ -22,9 +22,7 @@
 #include "parquet/encryption/encryption.h"
 #include "parquet/encryption/test_encryption_util.h"
 
-namespace parquet {
-namespace encryption {
-namespace test {
+namespace parquet::encryption::test {
 
 TEST(TestColumnEncryptionProperties, ColumnEncryptedWithOwnKey) {
   std::string column_path_1 = "column_1";
@@ -271,6 +269,4 @@ TEST(TestDecryptionProperties, 
UsingExplicitFooterAndColumnKeys) {
   ASSERT_EQ(kColumnEncryptionKey2, props->column_key(column_path_2));
 }
 
-}  // namespace test
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption::test
diff --git a/cpp/src/parquet/encryption/read_configurations_test.cc 
b/cpp/src/parquet/encryption/read_configurations_test.cc
index 0bdb67ee9e..10de7198ac 100644
--- a/cpp/src/parquet/encryption/read_configurations_test.cc
+++ b/cpp/src/parquet/encryption/read_configurations_test.cc
@@ -81,9 +81,7 @@
 
  */
 
-namespace parquet {
-namespace encryption {
-namespace test {
+namespace parquet::encryption::test {
 
 using parquet::test::ParquetTestException;
 
@@ -272,6 +270,4 @@ INSTANTIATE_TEST_SUITE_P(
             5, 
"encrypt_columns_and_footer_disable_aad_storage.parquet.encrypted"),
         std::make_tuple(6, 
"encrypt_columns_and_footer_ctr.parquet.encrypted")));
 
-}  // namespace test
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption::test
diff --git a/cpp/src/parquet/encryption/test_encryption_util.cc 
b/cpp/src/parquet/encryption/test_encryption_util.cc
index 26ed15ae03..694ed3cf42 100644
--- a/cpp/src/parquet/encryption/test_encryption_util.cc
+++ b/cpp/src/parquet/encryption/test_encryption_util.cc
@@ -37,9 +37,7 @@ using parquet::Type;
 using parquet::schema::GroupNode;
 using parquet::schema::PrimitiveNode;
 
-namespace parquet {
-namespace encryption {
-namespace test {
+namespace parquet::encryption::test {
 
 std::string data_file(const char* file) {
   std::string dir_string(parquet::test::get_data_dir());
@@ -511,6 +509,4 @@ void FileDecryptor::CheckFile(parquet::ParquetFileReader* 
file_reader,
   }
 }
 
-}  // namespace test
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption::test
diff --git a/cpp/src/parquet/encryption/test_encryption_util.h 
b/cpp/src/parquet/encryption/test_encryption_util.h
index c2190709af..19c230ee5f 100644
--- a/cpp/src/parquet/encryption/test_encryption_util.h
+++ b/cpp/src/parquet/encryption/test_encryption_util.h
@@ -37,8 +37,7 @@
 
 namespace parquet {
 class ParquetFileReader;
-namespace encryption {
-namespace test {
+namespace encryption::test {
 
 using ::arrow::internal::TemporaryDir;
 
@@ -122,6 +121,5 @@ class FileDecryptor {
                  FileDecryptionProperties* file_decryption_properties);
 };
 
-}  // namespace test
-}  // namespace encryption
+}  // namespace encryption::test
 }  // namespace parquet
diff --git a/cpp/src/parquet/encryption/test_in_memory_kms.cc 
b/cpp/src/parquet/encryption/test_in_memory_kms.cc
index 5389196b6f..e1339ab48b 100644
--- a/cpp/src/parquet/encryption/test_in_memory_kms.cc
+++ b/cpp/src/parquet/encryption/test_in_memory_kms.cc
@@ -21,8 +21,7 @@
 #include "parquet/encryption/test_in_memory_kms.h"
 #include "parquet/exception.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 std::unordered_map<std::string, std::string>
     TestOnlyLocalWrapInMemoryKms::master_key_map_;
@@ -95,5 +94,4 @@ std::string TestOnlyInServerWrapKms::GetMasterKeyFromServer(
   return wrapping_master_key_map_.at(master_key_identifier);
 }
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/test_in_memory_kms.h 
b/cpp/src/parquet/encryption/test_in_memory_kms.h
index bf887191d1..c5fdc797b8 100644
--- a/cpp/src/parquet/encryption/test_in_memory_kms.h
+++ b/cpp/src/parquet/encryption/test_in_memory_kms.h
@@ -25,8 +25,7 @@
 #include "parquet/encryption/local_wrap_kms_client.h"
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 // This is a mock class, built for testing only. Don't use it as an example of
 // LocalWrapKmsClient implementation.
@@ -92,5 +91,4 @@ class TestOnlyInMemoryKmsClientFactory : public 
KmsClientFactory {
   }
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/two_level_cache_with_expiration.h 
b/cpp/src/parquet/encryption/two_level_cache_with_expiration.h
index fbd06dc7d2..76c2b82770 100644
--- a/cpp/src/parquet/encryption/two_level_cache_with_expiration.h
+++ b/cpp/src/parquet/encryption/two_level_cache_with_expiration.h
@@ -23,8 +23,7 @@
 #include "arrow/util/concurrent_map.h"
 #include "arrow/util/mutex.h"
 
-namespace parquet {
-namespace encryption {
+namespace parquet::encryption {
 
 using ::arrow::util::ConcurrentMap;
 
@@ -155,5 +154,4 @@ class TwoLevelCacheWithExpiration {
   ::arrow::util::Mutex mutex_;
 };
 
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption
diff --git a/cpp/src/parquet/encryption/two_level_cache_with_expiration_test.cc 
b/cpp/src/parquet/encryption/two_level_cache_with_expiration_test.cc
index f375a5c5b3..d8f2c62551 100644
--- a/cpp/src/parquet/encryption/two_level_cache_with_expiration_test.cc
+++ b/cpp/src/parquet/encryption/two_level_cache_with_expiration_test.cc
@@ -25,9 +25,7 @@
 
 #include "parquet/encryption/two_level_cache_with_expiration.h"
 
-namespace parquet {
-namespace encryption {
-namespace test {
+namespace parquet::encryption::test {
 
 using ::arrow::SleepFor;
 
@@ -172,6 +170,4 @@ TEST_F(TwoLevelCacheWithExpirationTest, MultiThread) {
   clean_thread.join();
 }
 
-}  // namespace test
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption::test
diff --git a/cpp/src/parquet/encryption/write_configurations_test.cc 
b/cpp/src/parquet/encryption/write_configurations_test.cc
index 580c95fdfd..e262003db3 100644
--- a/cpp/src/parquet/encryption/write_configurations_test.cc
+++ b/cpp/src/parquet/encryption/write_configurations_test.cc
@@ -60,9 +60,7 @@
  *                                  keys. Use the alternative (AES_GCM_CTR_V1) 
algorithm.
  */
 
-namespace parquet {
-namespace encryption {
-namespace test {
+namespace parquet::encryption::test {
 
 using FileClass = ::arrow::io::FileOutputStream;
 
@@ -231,6 +229,4 @@ void TestEncryptionConfiguration::SetUpTestCase() {
   temp_dir = temp_data_dir().ValueOrDie();
 }
 
-}  // namespace test
-}  // namespace encryption
-}  // namespace parquet
+}  // namespace parquet::encryption::test
diff --git a/cpp/src/parquet/level_comparison.cc 
b/cpp/src/parquet/level_comparison.cc
index c9ad6b76c7..f3188e987d 100644
--- a/cpp/src/parquet/level_comparison.cc
+++ b/cpp/src/parquet/level_comparison.cc
@@ -25,8 +25,7 @@
 
 #include "arrow/util/dispatch.h"
 
-namespace parquet {
-namespace internal {
+namespace parquet::internal {
 
 #if defined(ARROW_HAVE_RUNTIME_AVX2)
 MinMax FindMinMaxAvx2(const int16_t* levels, int64_t num_levels);
@@ -78,5 +77,4 @@ MinMax FindMinMax(const int16_t* levels, int64_t num_levels) {
   return dispatch.func(levels, num_levels);
 }
 
-}  // namespace internal
-}  // namespace parquet
+}  // namespace parquet::internal
diff --git a/cpp/src/parquet/level_comparison.h 
b/cpp/src/parquet/level_comparison.h
index 38e7ef8e2e..3ae442dd46 100644
--- a/cpp/src/parquet/level_comparison.h
+++ b/cpp/src/parquet/level_comparison.h
@@ -21,8 +21,7 @@
 
 #include "parquet/platform.h"
 
-namespace parquet {
-namespace internal {
+namespace parquet::internal {
 
 /// Builds a  bitmap where each set bit indicates the corresponding level is 
greater
 /// than rhs.
@@ -36,5 +35,4 @@ struct MinMax {
 
 MinMax FindMinMax(const int16_t* levels, int64_t num_levels);
 
-}  // namespace internal
-}  // namespace parquet
+}  // namespace parquet::internal
diff --git a/cpp/src/parquet/level_comparison_inc.h 
b/cpp/src/parquet/level_comparison_inc.h
index 055f81ffae..cfee506654 100644
--- a/cpp/src/parquet/level_comparison_inc.h
+++ b/cpp/src/parquet/level_comparison_inc.h
@@ -24,9 +24,7 @@
 #ifndef PARQUET_IMPL_NAMESPACE
 #error "PARQUET_IMPL_NAMESPACE must be defined"
 #endif
-namespace parquet {
-namespace internal {
-namespace PARQUET_IMPL_NAMESPACE {
+namespace parquet::internal::PARQUET_IMPL_NAMESPACE {
 /// Builds a bitmap by applying predicate to the level vector provided.
 ///
 /// \param[in] levels Rep or def level array.
@@ -60,6 +58,4 @@ inline uint64_t GreaterThanBitmapImpl(const int16_t* levels, 
int64_t num_levels,
   return LevelsToBitmap(levels, num_levels, [rhs](int16_t value) { return 
value > rhs; });
 }
 
-}  // namespace PARQUET_IMPL_NAMESPACE
-}  // namespace internal
-}  // namespace parquet
+}  // namespace parquet::internal::PARQUET_IMPL_NAMESPACE
diff --git a/cpp/src/parquet/level_conversion.cc 
b/cpp/src/parquet/level_conversion.cc
index 2e5bcacea5..1271afd866 100644
--- a/cpp/src/parquet/level_conversion.cc
+++ b/cpp/src/parquet/level_conversion.cc
@@ -31,8 +31,7 @@
 #include "parquet/level_conversion_inc.h"
 #undef PARQUET_IMPL_NAMESPACE
 
-namespace parquet {
-namespace internal {
+namespace parquet::internal {
 namespace {
 
 using ::arrow::internal::CpuInfo;
@@ -179,5 +178,4 @@ void DefRepLevelsToBitmap(const int16_t* def_levels, const 
int16_t* rep_levels,
                                   output, /*offsets=*/nullptr);
 }
 
-}  // namespace internal
-}  // namespace parquet
+}  // namespace parquet::internal
diff --git a/cpp/src/parquet/level_conversion.h 
b/cpp/src/parquet/level_conversion.h
index 480d82ed0d..3f56b2de36 100644
--- a/cpp/src/parquet/level_conversion.h
+++ b/cpp/src/parquet/level_conversion.h
@@ -23,8 +23,7 @@
 #include "parquet/platform.h"
 #include "parquet/schema.h"
 
-namespace parquet {
-namespace internal {
+namespace parquet::internal {
 
 struct PARQUET_EXPORT LevelInfo {
   LevelInfo()
@@ -196,5 +195,4 @@ void PARQUET_EXPORT DefRepLevelsToBitmap(const int16_t* 
def_levels,
 // (i.e. it isn't hidden by runtime dispatch).
 uint64_t PARQUET_EXPORT TestOnlyExtractBitsSoftware(uint64_t bitmap, uint64_t 
selection);
 
-}  // namespace internal
-}  // namespace parquet
+}  // namespace parquet::internal
diff --git a/cpp/src/parquet/level_conversion_bmi2.cc 
b/cpp/src/parquet/level_conversion_bmi2.cc
index 274d54e503..a39d1fd1eb 100644
--- a/cpp/src/parquet/level_conversion_bmi2.cc
+++ b/cpp/src/parquet/level_conversion_bmi2.cc
@@ -20,8 +20,7 @@
 #include "parquet/level_conversion_inc.h"
 #undef PARQUET_IMPL_NAMESPACE
 
-namespace parquet {
-namespace internal {
+namespace parquet::internal {
 void DefLevelsToBitmapBmi2WithRepeatedParent(const int16_t* def_levels,
                                              int64_t num_def_levels, LevelInfo 
level_info,
                                              ValidityBitmapInputOutput* 
output) {
@@ -29,5 +28,4 @@ void DefLevelsToBitmapBmi2WithRepeatedParent(const int16_t* 
def_levels,
                                                             level_info, 
output);
 }
 
-}  // namespace internal
-}  // namespace parquet
+}  // namespace parquet::internal
diff --git a/cpp/src/parquet/level_conversion_inc.h 
b/cpp/src/parquet/level_conversion_inc.h
index 710d2f6237..0bcdbccb34 100644
--- a/cpp/src/parquet/level_conversion_inc.h
+++ b/cpp/src/parquet/level_conversion_inc.h
@@ -29,13 +29,10 @@
 #include "arrow/util/simd.h"
 #include "parquet/exception.h"
 #include "parquet/level_comparison.h"
-
-namespace parquet {
-namespace internal {
 #ifndef PARQUET_IMPL_NAMESPACE
 #error "PARQUET_IMPL_NAMESPACE must be defined"
 #endif
-namespace PARQUET_IMPL_NAMESPACE {
+namespace parquet::internal::PARQUET_IMPL_NAMESPACE {
 
 // clang-format off
 /* Python code to generate lookup table:
@@ -352,6 +349,4 @@ void DefLevelsToBitmapSimd(const int16_t* def_levels, 
int64_t num_def_levels,
   writer.Finish();
 }
 
-}  // namespace PARQUET_IMPL_NAMESPACE
-}  // namespace internal
-}  // namespace parquet
+}  // namespace parquet::internal::PARQUET_IMPL_NAMESPACE
diff --git a/cpp/src/parquet/level_conversion_test.cc 
b/cpp/src/parquet/level_conversion_test.cc
index bfce74ae3a..b12680089b 100644
--- a/cpp/src/parquet/level_conversion_test.cc
+++ b/cpp/src/parquet/level_conversion_test.cc
@@ -31,8 +31,7 @@
 #include "arrow/util/bitmap.h"
 #include "arrow/util/ubsan.h"
 
-namespace parquet {
-namespace internal {
+namespace parquet::internal {
 
 using ::arrow::internal::Bitmap;
 using ::testing::ElementsAreArray;
@@ -357,5 +356,4 @@ TEST(TestOnlyExtractBitsSoftware, BasicTest) {
   check(0xFECBDA9876543210ULL, 0xF00FF00FF00FF00FULL, 0xFBD87430ULL);
 }
 
-}  // namespace internal
-}  // namespace parquet
+}  // namespace parquet::internal
diff --git a/cpp/src/parquet/types.h b/cpp/src/parquet/types.h
index f35384b8df..e81e9de0a1 100644
--- a/cpp/src/parquet/types.h
+++ b/cpp/src/parquet/types.h
@@ -30,13 +30,11 @@
 #include "parquet/type_fwd.h"
 #include "parquet/windows_fixup.h"  // for OPTIONAL
 
-namespace arrow {
-namespace util {
+namespace arrow::util {
 
 class Codec;
 
-}  // namespace util
-}  // namespace arrow
+}  // namespace arrow::util
 
 namespace parquet {
 

Reply via email to