diff --git a/src/hei_chip.hpp b/src/hei_chip.hpp
index 216a4cc..83ef663 100644
--- a/src/hei_chip.hpp
+++ b/src/hei_chip.hpp
@@ -17,34 +17,34 @@
 
     ~Chip() = default;
 
-    Chip(const Chip &) = default;
+    Chip(const Chip&) = default;
 
-    Chip & operator=(const Chip &) = default;
+    Chip& operator=(const Chip&) = default;
 
     /**
      * @brief Constructor.
      * @param i_chip See description for iv_chip.
      * @param i_type See description for iv_type.
      */
-    Chip(void * i_chip, ChipType_t i_type) :
+    Chip(void* i_chip, ChipType_t i_type) :
         iv_chip(i_chip), iv_type(i_type)
     {}
 
   public: // Accessors
 
-    void * getChip() const { return iv_chip; }
+    void* getChip() const { return iv_chip; }
 
     ChipType_t getType() const { return iv_type; }
 
   public: // Operators
 
-    bool operator==(const Chip & r) const
+    bool operator==(const Chip& r) const
     {
         return (iv_chip == r.iv_chip) &&
                (iv_type == r.iv_type);
     }
 
-    bool operator<(const Chip & r) const
+    bool operator<(const Chip& r) const
     {
         return (iv_chip < r.iv_chip) ||
                ((iv_chip == r.iv_chip) && (iv_type < r.iv_type));
@@ -59,7 +59,7 @@
      * purpose is to eventually get passed back to the user application with
      * information associated with each chip.
      */
-    void * iv_chip = nullptr;
+    void* iv_chip = nullptr;
 
     /**
      * When doing analysis on a chip, the isolator will need to know the chip
