diff --git a/src/isolator/hei_isolation_chip.cpp b/src/isolator/hei_isolation_chip.cpp
index 118e282..7002f77 100644
--- a/src/isolator/hei_isolation_chip.cpp
+++ b/src/isolator/hei_isolation_chip.cpp
@@ -64,8 +64,8 @@
 
 //------------------------------------------------------------------------------
 
-HardwareRegister::ConstPtr
-    IsolationChip::getHardwareRegister(HardwareRegister::Key i_key) const
+HardwareRegister::ConstPtr IsolationChip::getHardwareRegister(
+    HardwareRegister::Key i_key) const
 {
     auto itr = iv_regs.find(i_key);
     HEI_ASSERT(iv_regs.end() != itr); // The register should exist.
@@ -75,8 +75,8 @@
 
 //------------------------------------------------------------------------------
 
-IsolationNode::ConstPtr
-    IsolationChip::getIsolationNode(IsolationNode::Key i_key) const
+IsolationNode::ConstPtr IsolationChip::getIsolationNode(
+    IsolationNode::Key i_key) const
 {
     auto itr = iv_nodes.find(i_key);
     HEI_ASSERT(iv_nodes.end() != itr); // The node should exist.
diff --git a/src/isolator/hei_isolation_chip.hpp b/src/isolator/hei_isolation_chip.hpp
index 7f13b47..c70dc38 100644
--- a/src/isolator/hei_isolation_chip.hpp
+++ b/src/isolator/hei_isolation_chip.hpp
@@ -109,8 +109,8 @@
      * @return The target hardware register. Will assert that the target
      *         register exists in iv_regs.
      */
-    HardwareRegister::ConstPtr
-        getHardwareRegister(HardwareRegister::Key i_key) const;
+    HardwareRegister::ConstPtr getHardwareRegister(
+        HardwareRegister::Key i_key) const;
 
     /**
      * @brief  Retrieves an isolation node from this chip, if it exists.
diff --git a/src/isolator/hei_isolation_node.cpp b/src/isolator/hei_isolation_node.cpp
index 9fe0ba5..b5e7fe9 100644
--- a/src/isolator/hei_isolation_node.cpp
+++ b/src/isolator/hei_isolation_node.cpp
@@ -156,8 +156,8 @@
 
 //------------------------------------------------------------------------------
 
-std::pair<OpRuleType_t, RegisterId_t>
-    IsolationNode::getOpRule(OpRuleName_t i_name) const
+std::pair<OpRuleType_t, RegisterId_t> IsolationNode::getOpRule(
+    OpRuleName_t i_name) const
 {
     return iv_op_rules.at(i_name);
 }
